개발자/라즈베리파이4

라즈베리파이4 파이선 버튼 입력 제어

지구빵집 2023. 10. 26. 14:26
반응형

 

 

 

 

디지털 입력 감지

 

컨트롤러/프로세서가 디지털 입력을 감지하는 방법에는 여러 가지가 있습니다. 이러한 방법은 사용자 프로그램에서 구현됩니다.

 

논리적 입력을 감지하는 가장 기본적인 방법은 특정 시점의 입력값을 확인하는 것이다. 이것을 "투표"라고 합니다. 그러나 이 방법에서 컨트롤러/프로세서는 사용자 프로그램이 잘못된 시간에 값을 읽는 경우 입력 읽기를 놓칠 수 있습니다. 폴링의 경우 스위치의 상태는 "조건부인 경우"에 의해 확인되고 루프에서 확인됩니다. 그러나 이것은 프로세서 집약적인 작업입니다.

 

그렇게 하는 또 다른 방법은 단순히 인터럽트 또는 에지 감지를 사용하여 입력을 감지하는 것입니다. 이 방법에서 사용자 프로그램은 GPIO 핀에서 HIGH에서 LOW로의 전환(하강 에지) 또는 LOW에서 HIGH로의 전환(상승 에지)을 기다립니다.

 

아래는 버튼 입력 제어 코드

 

import RPi.GPIO as GPIO
import time

LED = 4
KEY = 5

GPIO.setmode(GPIO.BCM)
GPIO.setup(LED, GPIO.OUT)
GPIO.setup(KEY, GPIO.IN)
   
try:
	while True:
		if GPIO.input(KEY)==True:
			GPIO.output(LED, True)
		elif GPIO.input(KEY)==False:
			GPIO.output(LED, False)
except KeyboardInterrupt:
      pass
finally:
      GPIO.cleanup()

 

 

라즈베리파이4 파이선 버튼 입력 제어

 

 

반응형