2018年5月1日 星期二

DIY - ESP8266:ESP-12F DHT11 模組介紹(八十五)

DIY - ESP8266:ESP-12F DHT11 模組介紹(八十五):

在 ESP8266 的製作中,見到很多人都會製作氣象站(Weather Station),不管直接讀取網上的氣象資料或用傳感器讀取現場數據,都是可行方法。筆者是偏向讀取現場環境數據來做這個氣象站,首先會製作濕度和溫度傳感器,下一步會結合網上的氣象資料作比較和預測。

DHT11 模組
因為筆者手頭上有 DHT11 濕度和溫度傳感器,會使用這個濕度傳感器來讀取現場數據。DHT11 數字溫濕度感測器是一款含有已校準數字信號輸出的溫濕度複合傳感器。它應用專用的數位模組採集技術和溫濕度傳感技術,確保產品具有極高的可靠性與卓越的長期穩定性,感測器包括一個電阻式感濕元件和一個 NTC 測溫元件。

每個 DHT11 感測器都在極為精確的濕度校驗室中進行校準。校準係數以程式的形式儲存在 OTP 記憶體中,感測器內部在檢測信號的處理過程中要調用這些校準係數,產品為 4針單排引腳封裝。

DHT11 模組
DHT11 可以用單線制序列介面連接單片機,資料由 Data腳送出,傳輸距離可長達 20m 以上,雖然 DHT11 的精確度較低,但用實驗,始終是個好開始。 

序列介面(單線雙向):
DATA 用於微處理器與 DHT11 之間的通訊和同步,採用單匯流排資料格式,一次通訊時間 4ms 左右,資料分小數部分和整數部分,具體格式在下面說明,當前小數部分用於以後擴展,現讀出為零。

操作流程如下:
一次完整的資料傳輸為 40bit,高位先出。 資料格式: 8bit 濕度整數資料 +8bit 濕度小數資料 +8bit 溫度整數資料 +8bit 溫度小數資料 +8bit 校驗和資料傳送正確時校驗和資料 =“8bit 濕度整數資料 +8bit 濕度小數資料 +8bit 溫度整數資料 +8bit 溫度小數資料”所得結果的末 8位。

用戶MCU發送一次開始信號後,DHT11 從低功耗模式轉換到高速模式,等待主機開始信號結束後,DHT11 發送回應信號,送出 40bit 的資料,並觸發一次信號採集,用戶可選擇讀取部分資料。從模式下,DHT11 接收到開始信號觸發一次溫濕度採集,如果沒有接收到主機發送開始信號,DHT11 不會主動進行溫濕度採集.採集資料後轉換到低速模式。

DHT11 模組序列介面通訊過程
總線空閒狀態為高電平,主機把總線拉低等待 DHT11 響應,主機把總線拉低必須大於18毫秒,保證 DHT11 能檢測到起始信號。DHT11 接收到主機的開始信號後,等待主機開始信號結束,然後發送 80us 低電平回應信號,主機發送開始信號結束後,延時等待 20-40us 後,讀取 DHT11 的回應信號,主機發送開始信號後,可以切換到輸入模式,或者輸出高電平均可,總線由上拉電阻拉高。
DHT11 模組序列介面通訊過程
總線為低電平,說明 DHT11 發送響應信號,DHT11 發送響應信號後,再把總線拉高 80us,準備發送資料,每一 bit 資料都以 50us 低電平時隙開始,高電平的長短定了資料位元是 0 還是 1。如果讀取回應信號為高電平,則 DHT11 沒有回應,請檢查線路是否連接正常。當最後一 bit 資料傳送完畢後,DHT11 拉低總線 50us,隨後總線由上拉電阻拉高進入空閒狀態。
DHT11 模組序列介面通訊過程
接線的方法十分簡單,"+"接5V,"-"接 GND,Data 接上要輸入的 Pin 腳並外接 5k 歐姆電阻至Vcc。
DHT11 模組接線方法
DHT11 模組尺寸規格
DHT11規格:
濕度測量範圍:20 ~ 90%RH
濕度測量精度:± 5% RH
分辨率: 1%
溫度測量範圍:0 ~ 50℃
溫度測量精度:± 2℃
供電電壓:3 ~ 5.5V
供電電流:100 ~ 150uA(Standby)、0.2 ~ 1mA(Average)、0.5 ~ 2.5mA(Operate)
採樣周期: 1s
頻率不可超過:0.5Hz (每2秒一次)

2018年 5月 1日 天氣報告
氣溫:26.1@ 19:30
相對濕度:百分之 75%
天氣:天色大致良好

沒有留言:

張貼留言