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

評論