DHT11是濕度和溫度傳感器,可產生校準的數字輸出。DHT11可以與任何微控制器(如Arduino,Raspberry Pi等)接口并獲得即時結果。DHT11是一款低成本的濕度和溫度傳感器,具有很高的可靠性和長期穩定性。
在這個項目中,我們將構建一個小電路以將Arduino與DHT11溫濕度傳感器接口。將DTH11傳感器與Arduino連接的主要應用之一是天氣監控。
在本文中,我們已經了解了濕度,相對濕度,濕度傳感器及其類型。
電路圖
下圖顯示了實施該項目所需的所有必要連接。
所需組件
Arduino UNO
DHT11溫濕度傳感器
面包板(或穿孔板)
16 x 2 LCD
10K歐姆電位器
5K歐姆電阻(1/4 W)
連接線
電路說明
我們將看到DHT11與Arduino接口的電路設計。DHT11濕度和溫度傳感器有兩種變體:僅傳感器或模塊。
主要區別在于該模塊由上拉電阻器組成,并且還可能包括一個通電的LED。我們在該項目中使用了一個模塊,如果您想使用傳感器本身,則需要另外連接一個5KΩ上拉電阻。
進行設計時,DHT11傳感器的數據引腳連接到Arduino的引腳11。16 x 2 LCD顯示屏用于顯示結果。LCD的控制引腳,即RS和E(LCD上的引腳4和6)連接到Arduino的引腳4和5。LCD的數據引腳,即D4至D7(LCD上的引腳11至14)連接至LCD上的引腳0至3。
注意:為便于連接,我們將DHT11傳感器模塊連接到Arduino的ICSP引腳,因為它提供了相鄰的VCC,DATA和GND引腳。不需要這種類型的連接,您可以將傳感器的數據引腳連接到普通的數字I / O引腳。
組件說明
DHT11溫濕度傳感器
DHT11是DHTXX系列濕度傳感器的一部分。該系列的另一個傳感器是DHT22。這兩個傳感器都是相對濕度(RH)傳感器。結果,他們將同時測量濕度和溫度。盡管DHT11濕度傳感器價格便宜,速度慢,但在愛好者和初學者中非常受歡迎。
DHT11濕度和溫度傳感器由3個主要組件組成。電阻型濕度傳感器,NTC(負溫度系數)熱敏電阻(用于測量溫度)和8位微控制器,可轉換來自兩個傳感器的模擬信號并發送單個數字信號。
任何微控制器或微處理器都可以讀取此數字信號,以進行進一步分析。
DHT11濕度傳感器由4個引腳組成:VCC,數據輸出,未連接(NC)和GND。VCC引腳的電壓范圍為3.5V至5.5V。5V電源會很好。來自數據輸出引腳的數據是串行數字數據。
下圖顯示了DHT11濕度和溫度傳感器的典型應用電路。DHT11傳感器可以測量相對濕度(RH)的20 – 90%范圍內的濕度值,以及0 – 500C范圍內的溫度。傳感器的采樣周期為1秒,即所有DHT11傳感器均準確經過實驗室校準,結果存儲在存儲器中。可以在Arduino和DHT11傳感器等任何微控制器之間建立單線通信。
另外,電纜的長度可以長達20米。來自傳感器的數據包括相對濕度(RH)和溫度的整數和小數部分。
DHT11傳感器的數據由40位組成,格式如下:
8 – RH積分值的位數據,8 – RH十進制值的位數據,8 –積分溫度值的位數據,8 –積分溫度值的位數據,8 –校驗和位數據。
例
考慮從DHT11傳感器接收的數據是
00100101 00000000 00011001 00000000 00111110。
該數據可以根據上述結構如下進行分離
為了檢查接收到的數據是否正確,我們需要進行少量計算。將RH和Temperature的所有整數和十進制值相加,并檢查總和是否等于校驗和值,即最后8位數據。
00100101 + 00000000 + 00011001 + 00000000 = 00111110
該值與校驗和相同,因此接收到的數據有效。現在要獲取RH和Temperature值,只需將二進制數據轉換為十進制數據即可。
RH = 00100101的十進制= 37%
溫度=十進制00011001 = 250C
項目運作
使用Arduino UNO和DHT11濕度和溫度傳感器構建了一個簡單的項目,其中環境的濕度和溫度在LCD顯示屏上顯示。
建立連接后,我們無需執行任何操作,因為該程序將處理所有事情。盡管DHT11模塊有一個特殊的庫稱為“ DHT”,但我們并未使用它。如果要使用此庫,則需要單獨下載該庫并將其添加到Arduino的現有庫中。
編寫的程序基于數據手冊中提供的數據時序圖。該程序將使Arduino自動從傳感器讀取數據,并將其作為濕度和溫度顯示在LCD顯示屏上。
代碼
注釋:
pinMode(gate,INPUT_PULLUP);//by default it will become high due to internal pull up
應用領域
DHT11相對濕度和溫度傳感器可用于許多應用,例如:
HVAC(供暖,通風和空調)系統
氣象站
濕度測量醫療設備
家庭自動化系統
汽車和其他天氣控制應用
-
濕度傳感器
+關注
關注
7文章
305瀏覽量
58492 -
Arduino
+關注
關注
187文章
6464瀏覽量
186681
原文標題:如何用Arduino讀取DHT11濕度傳感器數據?
文章出處:【微信號:aidanpianji,微信公眾號:單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論