dht11溫濕度傳感器工作原理
DHT11為 4 針單排引腳封裝,如下圖,采用單線制串行接口,只需加適當(dāng)?shù)纳侠娮?,信號傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。
二.傳感器參數(shù)
1.DHT11電氣參數(shù)如下:
型號 測量范圍 測濕精度 測溫精度 分辨率 封裝
2.引腳定義
3.典型電路
DHT11的供電電壓為 3-5.5V,電源引腳(VDD,GND)之間可增加一個100nF 的電容,用以去耦濾波。DATA引腳并聯(lián)一個5K以上的上拉電阻,增強(qiáng)信號的抗干擾額能力。傳感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。
三.傳感器控制時序
1.數(shù)據(jù)格式
DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當(dāng)前小數(shù)部分用于以后擴(kuò)展,現(xiàn)讀出為零,操作流程如下:
一次完整的數(shù)據(jù)傳輸為40bit,高位先出。
數(shù)據(jù)格式:
8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和
8位校驗(yàn)和:
“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”相加所得結(jié)果的末8位。
2.控制時序
要實(shí)現(xiàn)對DHT11傳感器的控制和數(shù)據(jù)的讀取,需先學(xué)會分析DHT11的控制時序。時序主要分為三部分:1:觸發(fā)DHT11采集數(shù)數(shù)據(jù);2:讀取數(shù)字0;3:讀取數(shù)字1;。
(1)觸發(fā)DHT11采集數(shù)據(jù)
總線空閑狀態(tài)為高電平,單片機(jī)把總線拉低等待DHT11響應(yīng),單片機(jī)把總線拉低必須大于18ms,保證DHT11能檢測到起始信號。
當(dāng)DHT11接收到單片機(jī)的開始信號后,等待單片機(jī)開始信號結(jié)束,然后發(fā)送80us低電平響應(yīng)信號。
單片機(jī)發(fā)送開始信號結(jié)束后,延時等待20-40us后,切換為輸入狀態(tài),等待DHT11的80us低電平信號結(jié)束,然后判斷DHT11是否是否發(fā)出 80us 的高電平;如果是,即可開始采集數(shù)據(jù)。
(2)數(shù)字0信號時序
當(dāng)DHT11輸出數(shù)字0時, 單片機(jī)讀取到的信號為50 us的低電平,之后為26-28 us的高電平。
(3)數(shù)字1信號時序
當(dāng)DHT11輸出數(shù)字0時, 單片機(jī)讀取到的信號為50 us的低電平,之后為70 us的高電平。
由此可知DHT11輸出數(shù)字0和數(shù)字1的區(qū)別在于高電平的時間,由此單片機(jī)可在讀取到高電平后,延時30us后,識別此時總線的電平,高電平為數(shù)字1,低電平為數(shù)字0;
(4)總時序圖
用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分?jǐn)?shù)據(jù)。
從模式下,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機(jī)發(fā)送開始信號,DHT11不會主動進(jìn)行溫濕度采集。當(dāng)一次完整的采集數(shù)據(jù)后,DHT11會轉(zhuǎn)換到低速模式。