iT邦幫忙

2026 iThome 鐵人賽

DAY 14
0

今日目標
在完成了感測器及輸出元件的練習後,今天我們將結合溫溼度感測器及無緣蜂鳴器,搭建一個智慧溫控機房警報系統。當偵測到的環境溫度或濕度超過設定的危險臨界值時,系統會自動觸發蜂鳴器發出急促的警報音。

程式碼
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)
    

心得
今天我們把之前學過的感應器與輸出執行器結合,透過簡單的邏輯條件判斷,就能把單純讀取數據的硬體提升為具備自動回應能力的完整物聯網小專案。


上一篇
使用 Passive Buzzer發出不同頻率警告音
下一篇
連接 SSD1306 OLED 螢幕 (I2C 介面) 基礎設定
系列文
無硬體也能玩物聯網!使用 Wokwi 模擬器與 MicroPython 打造 30 天 ESP32 實務 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言