今日目標
在完成了感測器及輸出元件的練習後,今天我們將結合溫溼度感測器及無緣蜂鳴器,搭建一個智慧溫控機房警報系統。當偵測到的環境溫度或濕度超過設定的危險臨界值時,系統會自動觸發蜂鳴器發出急促的警報音。
程式碼
import time
import dht
from machine import Pin, PWM
dht_sensor = dht.DHT22(Pin(15))
buzzer = PWM(Pin(12))
buzzer.duty(0)
TEMP_LIMIT = 30.0
HUM_LIMIT = 70.0
def alert_sound():
for _ in range(2):
buzzer.freq(1200)
buzzer.duty(512)
time.sleep_ms(100)
buzzer.freq(800)
time.sleep_ms(100)
buzzer.duty(0)
print("=== 智慧溫濕度警報監測系統啟動 ===")
while True:
try:
dht_sensor.measure()
temp = dht_sensor.temperture()
hum = dht_sensor.humidity()
print(f"環境測量溫度:{temp:.1f}°C|濕度:{hum:.1f}%")
if temp > TEMP_LIMIT or hum > HUM_LIMIT:
print("警告:環境數據異常!發出聲響警報!")
alert_sound()
else:
print("狀態正常,環境指標良好。")
except OSError:
print("感測器讀取失敗")
time.sleep(2)
心得
今天我們把之前學過的感應器與輸出執行器結合,透過簡單的邏輯條件判斷,就能把單純讀取數據的硬體提升為具備自動回應能力的完整物聯網小專案。