반응형
이번 시간에는 PUSH 버튼을 입력 받아서 PUSH 버튼이 눌러졌을때 LED를 켜는 프로젝트를 수행하면서 디지털 신호의 입력값을 처리하는 방법에 대해 알아보자.
1. 라즈베리파이 핀맵
2. 회로구성
3.3V를 10K옴 저항 값을 통해 버튼에 연결하고 그 값을 BCM18에 연결 다른 쪽은 GND에 연결함
LED의 +를 BCM23에 220옴 저항을 태워서 연결후 -를 GND에 연결
3. 디지털 핀값 읽어 오기
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18,GPIO.IN)
GPIO.setup(23,GPIO.OUT)
18번 핀은 입력 23번 핀은 출력으로 설정한다.
inputIO = GPIO.input(18)
GPIO.input() 명령으로 값을 읽어 온다.
4. 디지털 핀값 입력시 LED 불켜기
try:
while True:
inputIO = GPIO.input(18)
# 버튼이 눌렸는지 체크
if inputIO == False:
# LED를 켜기
GPIO.output(23, GPIO.HIGH)
else:
# LED를 끄기
GPIO.output(23, GPIO.LOW)
# Ctrl + C키를 누르면 종료
except KeyboardInterrupt:
# 종료시 LED를 무조건 끄기
GPIO.output(23, GPIO.LOW)
# GPIO 클린업
finally:
GPIO.cleanup()
반응형
'사물인터넷(IOT) > 라즈베리파이' 카테고리의 다른 글
라즈베리파이4 에 torch 설치 (0) | 2023.04.03 |
---|---|
7. 라즈베리파이 카메라 모듈 사용하기 (1) | 2023.03.23 |
5. 라즈베리파이 GPO 디지털핀 제어하기 (0) | 2023.03.22 |
4. 라즈베리파이 GPIO 알아 보기 (0) | 2023.03.22 |
3. 라즈베리파이 GUI 환경으로 접속하기 (0) | 2023.02.23 |