buzzer.py
# 本作品采用MIT许可证授权。
# 版权所有 (c) 2013-2025 OpenMV LLC。保留所有权利。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Pure Thermal蜂鸣器示例脚本
#
# 感谢购买Pure Thermal OpenMV!这是一个简单的示例
# 脚本,展示了如何控制板载蜂鸣器。
from pyb import Timer, Pin
import time
# 定时器2,通道2
tim2 = Timer(2, freq=4000)
ch2 = tim2.channel(2, Timer.PWM, pin=Pin("BUZZER"), pulse_width_percent=50)
# 通过控制蜂鸣器的频率和占空比播放一段动听的旋律,
# 使用频率和占空比的查找表。
jingle = [
(1000, 50), (1200, 60), (1400, 70), (1600, 80),
(1800, 90), (2000, 100), (2200, 90), (2400, 80),
(2600, 70), (2800, 60), (3000, 50), (3200, 40),
]
while True:
for freq, duty in jingle:
tim2.freq(freq)
ch2.pulse_width_percent(duty)
time.sleep_ms(200)