import RPi.GPIO as GPIO import time # --- GPIO 핀 설정 --- BUZZER_PIN = 25 # 부저가 연결된 GPIO 핀 번호 (BCM 모드) # GPIO 모드 설정 (BCM 모드 사용) GPIO.setmode(GPIO.BCM) # 부저 핀을 출력으로 설정 GPIO.setup(BUZZER_PIN, GPIO.OUT) print(f"부저 핀 (GPIO {BUZZER_PIN}) 설정 완료.") # --- 부저 제어 함수 --- def buzz_on(): """부저를 켜는 함수""" GPIO.output(BUZZER_PIN, GPIO.HIGH) print("부저 ON") def buzz_off(): """부저를 끄는 함수""" GPIO.output(BUZZER_PIN, GPIO.LOW) print("부저 OFF") # --- 부저 테스트 --- try: print("부저 테스트 시작 (5초간 ON, 1초간 OFF 반복)") for i in range(3): # 3번 반복 buzz_on() time.sleep(3) # 1초간 소리 유지 buzz_off() time.sleep(0.5) # 0.5초간 대기 print("\n짧게 '삐빅' 소리 내기") buzz_on() time.sleep(0.1) buzz_off() time.sleep(0.1) buzz_on() time.sleep(0.1) buzz_off() print("\n테스트 종료. 필요하면 Ctrl+C로 종료하세요.") # 실제 프로젝트에서는 여기서 다른 작업을 하거나 무한 루프를 돌 수 있습니다. # 예: while True: pass except KeyboardInterrupt: # Ctrl+C 입력 시 GPIO 정리 print("\n프로그램 종료. GPIO를 정리합니다.") finally: GPIO.cleanup() # 모든 GPIO 설정 초기화