라즈베리파이에서도 아두이노와 같이 센서를 사용할 수 있다. 3차시에서 정리한 GPIO에 각종 센서들을 연결할 수 있다.
택트스위치는, 4개의 핀중 2쌍은 연결되어있고, 그 2쌍은 서로 가운데 스위치를 두고 연결되어 있다.
평소에는 a는 a끼리, b는 b끼리만 통전되다가, 스위치를 누르면 가운데가 연결되며 핀4개가 모두 통전되는 방식이다.
다음과같이 회로를 연결하고, 저번에 구축한 VSC에서 코드를 적용한다.
라즈베리파이는 아두이노와는 다르게 풀업저항이 내장되어있지 않아 플로팅현상이 발생할 수 있다.
따라서 풀업저항을 따로 구성해야한다.
import RPi.GPIO as IoPort
SW1 = 8
Led = 18
IoPort. setmode(IoPort.BCM)
IoPort. setup(Led, IoPort. OUT)
IoPort. setup(Sw1, IoPort. IN)
while True:
rcv = IoPort. input(Sw1)
IoPort. output(Led, rcv)
IoPort.setmode(IoPort.BCM)
: GPIO 핀 번호를 BCM(Broadcom SoC) 방식으로 설정합니다.IoPort.setup(Led, IoPort.OUT)
: LED 핀을 출력 모드로 설정합니다.IoPort.setup(SW1, IoPort.IN)
: 스위치 핀을 입력 모드로 설정합니다.