Files
Smartwave/orchestrateur/sensors/buzzer.py
T
2026-08-10 14:00:20 +02:00

33 lines
787 B
Python

import time
import grovepi
from sensors.lock import grove_lock
from shared import config
# Pin definition
BUZZER_PIN = 8
grovepi.pinMode(BUZZER_PIN, "OUTPUT")
buzzer_state = 0
def set_buzzer(state: int):
global buzzer_state
buzzer_state = state
if not config.BUZZER_ACTIVATED:
return
try:
with grove_lock:
grovepi.digitalWrite(BUZZER_PIN, state)
except Exception as e:
print(f"[BUZZER] Error occurred while setting buzzer state: {e}")
def buzzer_toggle():
global buzzer_state
new_state = 1 - buzzer_state
set_buzzer(new_state)
def buzzer_siren(beatsNb: int = 3, delay: float = 0.3):
for _ in range(beatsNb):
set_buzzer(1)
time.sleep(delay)
set_buzzer(0)
time.sleep(delay)