from machine import Pin, PWM
import utime
switch = Pin(16, Pin.IN, Pin.PULL_UP)
buzzer = PWM(Pin(15))
buzzer.freq(1000)
press_count = 0
last_press_time = 0
def beep(times):
print(f"Buzzer beeping {times} time(s)...")
for _ in range(times):
buzzer.duty_u16(32768)
utime.sleep(0.1)
buzzer.duty_u16(0)
utime.sleep(0.3)
print("Buzzer beep cycle complete.")
while True:
if switch.value() == 0 and (utime.ticks_ms() - last_press_time > 300):
press_count += 1
if press_count > 3:
press_count = 1
last_press_time = utime.ticks_ms()
print(f"Switch pressed {press_count} time(s)")
while switch.value() == 0:
pass
if press_count == 1:
beep(1)
utime.sleep(0.6)
elif press_count == 2:
beep(2)
utime.sleep(0.3)
elif press_count == 3:
buzzer.duty_u16(0)
print("Buzzer turned OFF")
utime.sleep(0.1)
else:
buzzer.duty_u16(0)
utime.sleep(0.1)