from machine import Pin, PWM
import time
# Passive buzzer cần PWM để phát ra âm theo tần số
buzzer = PWM(Pin(15))
buzzer.duty_u16(0) # ban đầu tắt
def play_tone(freq, duration_ms):
# Đặt tần số cho âm thanh
buzzer.freq(freq)
# Đặt duty vừa phải để có âm lượng ổn định
buzzer.duty_u16(20000)
# Giữ nốt trong khoảng thời gian mong muốn
time.sleep_ms(duration_ms)
# Tắt âm sau khi phát xong
buzzer.duty_u16(0)
time.sleep_ms(50)
while True:
# Một đoạn giai điệu ngắn để kiểm tra passive buzzer
play_tone(262, 300) # Do
play_tone(294, 300) # Re
play_tone(330, 300) # Mi
play_tone(349, 300) # Fa
play_tone(392, 500) # Sol
time.sleep(2)