今日目標
讓ESP 32具備感知環境的能力,在Wowki加入DHT 22溫濕度感測器,並使用MicroPython內建的dht套件,讀取環境中的溫度與濕度。
程式碼
import time
from machine import Pin
sensor = dht.DHT22(Pin(15))
print("=== DHT22 溫濕度環境監測系統啟動 ===")
while True:
try:
sensor.measure()
temp = sensor.temperature()
humidity = sensor.humidity()
print(f"【環境數據】溫度:{temp:.1f}°C|濕度:{humidity:.1f}%")
if temp > 28:
print("警告:環境溫度過高!")
if humidity > 70:
print("警告:環境過於潮濕!")
except OSError as e:
print("讀取感測器失敗,請檢查接線或重新嘗試…")
time.sleep(2)
心得
今天成功讀取了物聯網專案中最經典的DHT22感測器,只需measure(), temperature(), humidity()三個步驟就能取得資料。在程式碼中加上try-except捕獲OSError也是非常重要的實務經驗,能防止感測器偶爾讀取失敗時導致整個程式崩潰。