라즈베리 파이 GPIO로 버튼 눌림 읽기 – 단계별 가이드
개요
전자 장치를 만들고 싶다면 어느 시점에 GPIO로 데이터를 읽어야 합니다. 이 연습에서는 브레드보드의 푸시 버튼 값을 읽습니다.
회로 설정
오른쪽 그림과 같이 회로를 설정하세요. 4.7kΩ 저항 한 끝이 핀 23에 연결되고 양극 공급 레일에 연결됩니다. 빨간 점퍼 케이블이 브레드보드 양극 레일을 GPIO 헤더의 3.3V 핀에 연결합니다. 버튼 핀 중 하나에 연결된 녹색 점퍼 와이어가 브레드보드 음극 레일에 연결되고, 또 다른 점퍼 케이블이 음극 공급 레일을 GPIO 헤더의 GND 핀에 연결합니다.
저항은 핀 23의 전압을 로직 1로 풀업하는 데 사용됩니다. 없으면 핀 23은 불확정 값을 가집니다. 버튼을 누르면 핀 23이 직접 접지에 연결돼 로직 0으로 전환됩니다.
파이썬 코드
다음 코드를 button.py 파일에 저장하세요:
#!/usr/bin/env python
import time
import RPi.GPIO as GPIO
def main():
# GPIO 모듈에 칩의 핀 번호 체계 사용 알림
GPIO.setmode(GPIO.BCM)
# 핀 25를 출력으로 설정
GPIO.setup(23, GPIO.IN)
GPIO.setup(24, GPIO.OUT)
GPIO.setup(25, GPIO.OUT)
GPIO.output(25, True)
while True:
if GPIO.input(23):
# 버튼이 눌림 - 녹색 LED 켜고 빨간 LED 끄기
GPIO.output(24, True)
GPIO.output(25, False)
print "button true"
else:
# 버튼이 안 눌림 - 녹색 LED 끄고 빨간 LED 켜기
GPIO.output(24, False)
GPIO.output(25, True)
if __name__ == "__main__":
main()
자세한 내용: GPIO로 버튼 눌림 감지하기
현재 프로젝트/게시물은 다음으로도 찾을 수 있습니다:
- raspberry gpio input button resistor