單總線傳感器DHT11在溫溫度測(cè)控中的應(yīng)用
3 典型應(yīng)用電路
DHT11與微處理器的電路連接非常簡(jiǎn)單,典型應(yīng)用電路如圖1所示。
數(shù)據(jù)線長(zhǎng)度短于20 m時(shí)可以使用5 kΩ上拉電阻,大于20 m時(shí)可根據(jù)實(shí)際情況使用合適的上拉電阻。
MCU發(fā)送一次開(kāi)始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開(kāi)始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40位的測(cè)量數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶(hù)可選擇讀取部分?jǐn)?shù)據(jù)。DHT11接收到開(kāi)始信號(hào)觸發(fā)一次溫濕度采集,如果沒(méi)有接收到主機(jī)發(fā)送開(kāi)始信號(hào),DHT11不會(huì)主動(dòng)進(jìn)行溫濕度采集。采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。
4 時(shí)序說(shuō)明
通信過(guò)程非常簡(jiǎn)單,如圖2所示(圖2~圖5中實(shí)線為主機(jī)信號(hào),虛線為DHT信號(hào))。首先主機(jī)(微處理器)在數(shù)據(jù)線上發(fā)出開(kāi)始信號(hào),DHT11在檢測(cè)到此信號(hào)后回復(fù)響應(yīng)信號(hào),并拉高數(shù)據(jù)線電平,開(kāi)始向主機(jī)發(fā)送測(cè)量得到的數(shù)據(jù)。數(shù)據(jù)發(fā)送完畢后,釋放總線。
詳細(xì)時(shí)序如圖3所示。總線空閑狀態(tài)為高電平。需要讀取DHT11的測(cè)量數(shù)據(jù)時(shí),主機(jī)先把總線拉低18 ms以上的低電平,這就是主機(jī)發(fā)出的開(kāi)始信號(hào)。當(dāng)DHT11檢測(cè)到總線上的開(kāi)始信號(hào)時(shí),在主機(jī)開(kāi)始信號(hào)結(jié)束后發(fā)送80μs低電平的響應(yīng)信號(hào)。主機(jī)發(fā)送完開(kāi)始信號(hào),延時(shí)等待20~40μs后,從總線讀取DHT11的響應(yīng)信號(hào)。如果讀取響應(yīng)信號(hào)為高電平,說(shuō)明DHT11沒(méi)有響應(yīng),請(qǐng)檢查線路是否連接正常。如果總線為低電平,說(shuō)明DHT11正常發(fā)送了響應(yīng)信號(hào)。
DHT11發(fā)送完響應(yīng)信號(hào)后,將總線拉高80μs,準(zhǔn)備發(fā)送數(shù)據(jù)。每一位數(shù)據(jù)都以50μs低電平時(shí)隙開(kāi)始,以高電平的時(shí)長(zhǎng)來(lái)區(qū)分?jǐn)?shù)據(jù)位是0或1,26~28μs的高電平表示0,70μs的高電平表示1(具體格式見(jiàn)圖4和圖5)。當(dāng)最后一位數(shù)據(jù)傳送完畢后,DHT11拉低總線50μs,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。
數(shù)字0信號(hào)表示方法如圖4所示,數(shù)字1信號(hào)表示方法如圖5所示。
評(píng)論