基于DHT11的實驗室多點溫濕度報警系統(tǒng)設計
DHT11數字溫濕度傳感器采用單線雙向的串行接口技術,一次通訊時間約4ms,數據分小數部分和整數部分,一次完整的數據傳輸為40bit,高位在先。即8bit濕度整數數據+8bit濕度小數數據+8bit溫度整數數據+8bit溫度小數數據+8bit校驗碼,其中校驗數據等于上述4個8bit數據之和所得結果的末8位。例如:讀取數據為:濕度為:36.50%;溫度為22.80℃,則對應的40bit數據為:0010 0100,0011 0010,0001 O110,0101 0000,1011 1100,其數值對應于溫濕度如表1所示。
DHT11與單片機主機通訊過程時序如圖3所示,總線空閑狀態(tài)為高電平,主機把總線拉低大于18ms等待DHT11響應,等開始信號結束后,延時等待20~40μs,DHT11然后發(fā)送80μs低電平響應信號,然后主機讀取DHT11的響應信號,若總線為低電平,說明DHT11發(fā)送響應信號,DHT11發(fā)送響應信號后,再把總線拉高80μs,準備發(fā)送數據,每1 bit數據都以50μs低電平時隙開始,高電平的長短(26μs~28μs表示數字0;70μs表示數字1)決定了數據位是0或1。如果讀取響應信號為高電平,則DHT11沒有響應,應當檢測器件或電路。當最后1 bit數據傳送完畢后,DHT11拉低總線50μs,隨后總線由上拉電阻拉高進入空閑狀態(tài)。當用戶MCU再次發(fā)送一次開始信號后,DHT11從低功耗模式轉換到高速模式,等待主機開始信號結束后,DHT11發(fā)送響應信號,送出40blt的數據,這是讀到的數據為上次測量的數據,要得到實時溫濕度數據,必須連續(xù)兩次讀取溫濕度值,且第二次讀到的值為當前的溫濕度值。這一點特別值得注意。
評論