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