import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
# LED 설정
GPIO.setup(12, GPIO.OUT)
led_state = False # LED의 상태를 저장 (초기 상태는 꺼짐)
GPIO.output(12, led_state)
# 버튼 설정
GPIO.setup(19, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# 버튼을 누를 때 호출되는 콜백 함수
def toggle_led(channel):
global led_state
led_state = not led_state
GPIO.output(12, led_state)
# GPIO 19번 핀에 rising edge detection을 추가하고, debounce 시간 설정
GPIO.add_event_detect(19, GPIO.FALLING, callback=toggle_led, bouncetime=300)
try:
while True:
time.sleep(0.1) # 무한루프에서 CPU 사용률을 낮추기 위해 약간의 대기 시간 추가
except KeyboardInterrupt:
GPIO.cleanup()
Copyright ⓒ TECH79 All right reserved