728x90
반응형
SMALL
안녕하세요 땜블리 입니다.
라즈베리파이 피코 베이직 트레이닝 보드를 이용한 스위치 제어 실습을 진행 하겠습니다.
베이직 트레이닝 보드는 아래에서 확인이 가능합니다.
https://ttcw.tistory.com/4
1) 스위치제어 구동 원리
(1) 동작설명
A, D 접점은 연결 되어있지만 Nomal 상태에서 A, D와 B, C 접점은 연결되어있지 않습니다. 버튼이 눌리는 순간 A, D접점과 B, C접점이 연결 됩니다.
2) 스위치를 이용한 LED 제어
(1) 동작설명
버튼은 눌러 led를 ON, OFF 동작 시킵니다.
def handle_interrupt(sw) : 스위치가 눌렸을 때 동작을 설정한 함수입니다.(외부 인터럽트처리)
sw.irq(trigger=Pin.IRQ_FALLING, handler=handle_interrupt) // 스위치를 이벤트 핸들러 에 등록합니다.
while True: 실제 구동되는 코드입니다. (무한루프)
(2) 코드작성
main.py
import SW
SW.py
from machine import Pin
from time import sleep
led1 = Pin(2,Pin.OUT)
led2 = Pin(3,Pin.OUT)
swCount=0
#sw = Pin(22,Pin.IN,Pin.PULL_UP)
#interrupt
def handle_interrupt(sw):
#bequiet()
#clear()
global swCount
swCount = swCount+1
if swCount==7:
swCount=0
sw = Pin(22,Pin.IN,Pin.PULL_UP)
sw.irq(trigger=Pin.IRQ_FALLING, handler=handle_interrupt)
while True:
if swCount==1:
led1.value(0)
elif swCount==2:
led1.value(1)
elif swCount==3:
led2.value(0)
elif swCount==4:
led2.value(1)
elif swCount==5:
led1.value(0)
led2.value(0)
else:
led1.value(1)
led2.value(1)
반응형
(3) 동작결과
버튼을 한번 씩 누를 때 마다 LED 상태가 변합니다.
728x90
반응형
LIST
'라즈베리파이_피코_피코 W > 마이크로파이썬' 카테고리의 다른 글
05. 라즈베리파이 피코 ADC 제어 (0) | 2023.02.27 |
---|---|
04. 라즈베리파이 피코 부져제어 (0) | 2023.02.26 |
02. 라즈베리파이 피코 LED제어 (0) | 2023.02.24 |
01. Thonny 시작하기 (0) | 2023.02.23 |
마이크로파이썬(Thonny) 환경설정 (0) | 2023.02.23 |
댓글