DHT22 是一款低成本數位溫濕度感測器,使用電容式濕度感測器和熱敏電阻測量周圍空氣,並輸出數位訊號。
幾款溫濕度計的使用心得,DHT22精準度算普普,比DHT11好太多了,AHT系列20與21都不錯用,主推。
DHT22與DHT11用法與接法都一樣,但DHT11太爛了不建議用。
DHT22規格:
工作電壓:3V~5.5V
輸出型式:數位訊號
溫度測量範圍:-40℃~80℃
溫度精準度:0.5℃
濕度測量範圍:0~100%RH
濕度精準度:2%RH
尺寸:28.2mm x 13.1mm x 5.5mm
重量:6g
接線方式:
Raspberry PI PICO | DHT22/DHT11 |
電源3.3v | + |
任一GPIO (22) | out |
GND | – |
主程式:
MicroPython韌體本身已經包含dht套件庫,所以不用另外安裝。
from machine import Pin, Timer import dht # 溫度感測器,這裡使用GPIO 22讀取 dht22 = dht.DHT22(Pin(22, Pin.IN)) # 定時抓溫度 th_timer = Timer() # 抓溫度tag tag_measure_th = False def measure_th(): dht22.measure() current_temp = dht22.temperature() current_humidity = dht22.humidity() print("溫度= " + str(current_temp) + "°C 濕度= " + str(current_humidity) + "%") # 開始測量溫度 def start_measure_show_th(t): global tag_measure_th tag_measure_th = True def main(): global tag_measure_th # 測量溫度定時器 每3秒量測一次,此感測器不能太頻繁量測 th_timer.init(mode=Timer.PERIODIC, period=3000, callback=start_measure_show_th) # 不斷檢查Tag是否被觸發,觸發後才去執行耗時處理,避免程式卡死 while True: if tag_measure_th: measure_th() tag_measure_th = False # 開始執行 main()
輸出如下:
溫度= 27.1°C 濕度= 50.2%
溫度= 27.1°C 濕度= 50.2%
溫度= 27.1°C 濕度= 50.2%
溫度= 27.1°C 濕度= 50.1%
溫度= 27.1°C 濕度= 50.2%
溫度= 27.1°C 濕度= 50.2%
-END-
發佈留言