一、實物圖
二、原理圖
為什么接上拉電阻:
因為DHT11的數(shù)據(jù)口是漏極開路,如果不接上拉電阻,則只能輸出低電平和高阻態(tài),不能輸出高電平,因此需要外接上拉電阻,否則無法輸出1。DHT11的工作電流約為1mA,VCC一般為5V,則電阻R=5V/1mA=5KΩ。一般3.3k~10k都可以。
三、簡介
DHT11 數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器,內(nèi)部由一個 8 位單片機控制一個電阻式感濕元件和一個 NTC 測溫元件。相比于 DS18B20 只能測量溫度,DHT11 既能檢測溫度又能檢測濕度,不過 DHT11 的精度和測量范圍都要低于 DS18B20,其溫度測量范圍為 0~50℃,誤差在±2℃;濕度的測量范圍為 20%~90%RH(Relative Humidity 相對濕度指空氣中水汽壓與飽和水汽壓的百分比),誤差在±5%RH。
四、通信協(xié)議及數(shù)據(jù)格式
DATA數(shù)據(jù)口用于微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,一次完整的數(shù)據(jù)為40bit,按照高位在前,低位在后的順序傳輸。
數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù) + 8bit濕度小數(shù)數(shù)據(jù)
+ 8bit溫度整數(shù)數(shù)據(jù) + 8bit溫度小數(shù)數(shù)據(jù)
+ 8bit校驗和
數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位,校驗的目的是為了保證數(shù)據(jù)傳輸?shù)臏蚀_性。
五、時序解析
用戶MCU發(fā)送一次開始信號后, DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后, DHT11發(fā)送響應信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分數(shù)據(jù)。從模式下, DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號, DHT11不會主動進行溫濕度采集,采集數(shù)據(jù)完成后,DHT11自動切換到低速模式。
?總線空閑狀態(tài)為高電平,主機把總線拉低等待DHT11響應,主機把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開始信號結(jié)束,然后發(fā)送80us低電平響應信號。主機發(fā)送開始信號結(jié)束后,延時等待20-40us后,讀取DHT11的響應信號,主機發(fā)送開始信號后,可以切換到輸入模式或者輸出高電平均可,總線由上拉電阻拉高。
總線為低電平,說明DHT11發(fā)送響應信號, DHT11發(fā)送響應信號后,再把總線拉高80us,準備發(fā)送數(shù)據(jù),每一位數(shù)據(jù)都以50us低電平時隙開始,高電平的長短定了數(shù)據(jù)位是0還是1。格式見下面圖示。如果讀取響應信號為高電平,則DHT11沒有響應,請檢查線路是否連接正常。當最后一位數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態(tài)。
?
?
六、流程設計
首先初始化引腳,然后發(fā)送一次開始信號,等待DHT11響應,DHT11響應后,讀取40bit數(shù)據(jù),延時一段時候作為結(jié)束信號。獲取到40bit數(shù)據(jù)后,解析數(shù)據(jù)并校驗,最終得到溫濕度值。文章來源:http://www.zghlxwxcb.cn/news/detail-456143.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-456143.html
到了這里,關(guān)于【mcuclub】溫濕度傳感器DHT11的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!