passive buzzer 제어 소스
This commit is contained in:
westnife3 2025-08-27 17:47:02 +09:00
parent 05f2f6a8f8
commit 9002f0957a
1 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,51 @@
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 설정 초기화