button control 소스
This commit is contained in:
westnife3 2025-08-27 17:46:20 +09:00
parent f915e69ccb
commit 05f2f6a8f8
1 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,35 @@
import RPi.GPIO as GPIO
import time
# --- GPIO 핀 설정 (BCM 넘버링) ---
button_pins = {
"버튼1": 6, # GPIO 6
"버튼2": 13, # GPIO 13
"버튼3": 19, # GPIO 19
"버튼4": 26 # GPIO 26
}
# 라즈베리파이 보드 넘버링 모드 설정
GPIO.setmode(GPIO.BCM)
# 각 버튼 핀을 입력으로 설정하고 내부 풀업 저항 활성화
for name, pin in button_pins.items():
# 여기서 PUD_DOWN 대신 PUD_UP 사용
GPIO.setup(pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
print(f"{name} (GPIO {pin}) 핀 설정 완료.")
# --- 버튼 상태 읽기 ---
try:
while True:
for name, pin in button_pins.items():
# 버튼이 눌렸을 때 (풀업 저항 사용 시 LOW)
if GPIO.input(pin) == GPIO.LOW:
print(f"{name} (GPIO {pin}) 버튼이 눌렸습니다!")
# 여기에 각 버튼에 대한 특정 동작을 추가할 수 있습니다.
# 예: if name == "버튼1": print("첫 번째 버튼 기능 실행!")
time.sleep(0.1) # 0.1초 대기하여 CPU 과부하 방지 및 채터링 감소
except KeyboardInterrupt:
# Ctrl+C로 종료 시 GPIO 설정 초기화
print("\n프로그램을 종료합니다.")
GPIO.cleanup()