概述
DHT11是一個(gè)數(shù)字傳感器,由兩個(gè)不同的傳感器組成一個(gè)封裝。該傳感器包含一個(gè)NTC(負(fù)溫度系數(shù))溫度傳感器,一個(gè)電阻型濕度傳感器和一個(gè)8位微控制器,用于轉(zhuǎn)換來自這些傳感器的模擬信號(hào)并產(chǎn)生數(shù)字輸出。
我已經(jīng)在我的 DHT11濕度傳感器Arduino 項(xiàng)目中使用了DHT11傳感器。在該項(xiàng)目中,我提到了DHT11傳感器的引腳配置,如何將其與微控制器連接以及如何解碼DHT11傳感器的數(shù)字輸出。
所以,我建議您參考該項(xiàng)目一次,以獲取有關(guān)DHT11濕度和溫度傳感器的更多信息。我將解釋一下我在Arduino項(xiàng)目中遺漏的一些事情。
我們知道輸出來自DHT11傳感器是數(shù)字的。但我們究竟能讀取這些數(shù)字?jǐn)?shù)據(jù)?
從DHT11讀取數(shù)字輸出
DHT11使用單總線數(shù)據(jù)格式進(jìn)行通信。只有像Arduino或Raspberry Pi這樣的MCU與DHT11傳感器之間的單條數(shù)據(jù)線足以交換信息。
在此設(shè)置中,微控制器充當(dāng)主設(shè)備和DHT11傳感器充當(dāng)從站。 DHT11傳感器的數(shù)據(jù)輸出采用漏極開路配置,因此必須在5.1KΩ電阻的幫助下將其拉高。
此上拉將確保當(dāng)Master沒有請(qǐng)求數(shù)據(jù)時(shí),數(shù)據(jù)的狀態(tài)為HIGH(除非Master請(qǐng)求,否則DHT11不會(huì)發(fā)送數(shù)據(jù))。
現(xiàn)在,我們將如何傳輸數(shù)據(jù)和DHT11傳感器的數(shù)據(jù)格式。每當(dāng)微控制器想要從DHT11傳感器獲取信息時(shí),
微控制器的引腳被配置為OUTPUT,它將使數(shù)據(jù)線保持低電平至少18ms并釋放線路。在此之后,微控制器引腳設(shè)為INPUT。
DHT11傳感器的數(shù)據(jù)引腳,即INPUT引腳,讀取微控制器產(chǎn)生的低電平,并充當(dāng)輸出引腳,在數(shù)據(jù)線上發(fā)送低信號(hào)響應(yīng)約80μs,然后再將該線路上拉80μs。
此后,DHT11傳感器發(fā)送40邏輯‘0’的位數(shù)據(jù)是50μs的低電平和26到28μs的高電平的組合,邏輯‘1’是50μs的低電平和70到80μ的高電平。
發(fā)送40位數(shù)據(jù)后,DHT11數(shù)據(jù)引腳保持低電平再持續(xù)50μs,最后將其狀態(tài)更改為輸入以接受來自微控制器的請(qǐng)求。
注意:我們?cè)诰帉慉rduino時(shí)實(shí)現(xiàn)了這個(gè)邏輯。但是對(duì)于Raspberry Pi,我們使用了一個(gè)處理所有這些事情的庫。
Raspberry Pi DTH11濕度和溫度傳感器接口
通過將DHT11傳感器與Raspberry Pi連接,您可以構(gòu)建自己的物聯(lián)網(wǎng)氣象站。實(shí)現(xiàn)此類物聯(lián)網(wǎng)天氣所需的只是Raspberry Pi,DHT11濕度和溫度傳感器以及具有互聯(lián)網(wǎng)連接功能的計(jì)算機(jī)。
電路圖
以下是DHT11和Raspberry Pi接口的電路圖。
所需組件
Raspberry Pi 3型號(hào)B
DHT11溫度和濕度傳感器
連接電線
計(jì)算機(jī)
如果你觀察電路圖,那么連接方面就沒有很多東西了。您需要做的就是將DHT11傳感器的VCC和GND引腳連接到Raspberry Pi的+ 5V和GND,然后將傳感器的數(shù)據(jù)輸出連接到GPIO4,即Raspberry Pi的物理引腳7。
安裝DTH11庫
由于我們使用Adafruit為此項(xiàng)目提供的名為Adafruit_DHT的庫,我們需要先將此庫安裝到Raspberry Pi中。
第一步是從GitHub下載庫。但在此之前,我在Raspberry Pi的桌面上創(chuàng)建了一個(gè)名為“l(fā)ibrary”的文件夾來放置下載的文件。您不必這樣做。
現(xiàn)在,輸入以下命令以下載與Adafruit_DHT庫相關(guān)的文件。
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
所有內(nèi)容都將下載到名為“Adafruit_Python_DHT”的文件夾中。使用cd Adafruit_Python_DHT打開此目錄。要查看此文件夾的內(nèi)容,請(qǐng)使用“l(fā)s”命令。
在該文件夾中,有一個(gè)名為“setup.py”的文件。我們需要使用以下命令安裝此文件。
sudo python setup.py install
代碼
我們正在使用該庫對(duì)于這個(gè)項(xiàng)目的Adafruit_DHT,Python編程部分沒什么可做的。您需要做的就是使用傳感器和GPIO引腳調(diào)用庫并打印溫度和濕度值。
工作
按照電路圖進(jìn)行連接并安裝庫。使用上面的python程序查看結(jié)果。
應(yīng)用程序
DHT11溫度和濕度傳感器是業(yè)余愛好者在許多物聯(lián)網(wǎng)項(xiàng)目中實(shí)施的流行傳感器模塊之一。此傳感器與Raspberry Pi一起也可用于:
HVAC Systems
恒溫器
家庭和辦公室氣候控制
氣象站
-
傳感器
+關(guān)注
關(guān)注
2565文章
52968瀏覽量
767111 -
樹莓派
+關(guān)注
關(guān)注
121文章
2001瀏覽量
107421
發(fā)布評(píng)論請(qǐng)先 登錄
常見的溫濕度傳感器類型?
【正點(diǎn)原子STM32H7R3開發(fā)套件試用體驗(yàn)】DS18B20、DHT11溫濕度采集
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11數(shù)字溫濕度傳感器
樹莓派傳感器使用方法 樹莓派 Raspberry Pi 4優(yōu)缺點(diǎn)
dht11溫濕度傳感器工作原理介紹
CW32模塊使用 DHT11溫濕度傳感器

評(píng)論