今日目標
今天要學習使用無源蜂鳴器結合之前學過的PWM技術,透過改變聲音頻率,讓蜂鳴器發出低音警告、高頻急促音,甚至是簡短的提示音階。
程式碼
import time
from machine import Pin, PWM
buzzer = PWM(Pin(12))
buzzer.duty(0)
def play_tone(freq, duration):
buzzer.freq(freq)
buzzer.duty(512)
time.sleep(duration)
buzzer.duty(0)
print("播放:開機提示音⋯")
play_tone(523, 0.15)
play_tone(659, 0.15)
play_tone(784, 0.25)
time.sleep(1)
print("--- 模式1:一般注意警告 ---")
for _ in range(3):
play_tone(440, 0.2)
time.sleep(0.3)
time.sleep(1)
print("--- 模式2:緊急危險報警 ---")
for _ in range(5):
play_tone(1200, 0.1)
play_tone(800, 0.1)
print("警報演練結束,系統恢復監聽狀態。")
心得
今天成功用PWM控制無源蜂鳴器做出各種不同的聲響效果。透過簡單的freq()調整,就能讓單一硬體元件呈現出「開機提示」、「輕微警告」與「緊急警報」的豐富層次。
掌握這項技術後,就可以把之前學過的感測器連結蜂鳴器,做出會發出警報的作品。