概述
DHT11是一個數(shù)字傳感器,由兩個不同的傳感器組成一個封裝。該傳感器包含一個NTC(負溫度系數(shù))溫度傳感器,一個電阻型濕度傳感器和一個8位微控制器,用于轉(zhuǎn)換來自這些傳感器的模擬信號并產(chǎn)生數(shù)字輸出。
我已經(jīng)在我的 DHT11濕度傳感器Arduino 項目中使用了DHT11傳感器。在該項目中,我提到了DHT11傳感器的引腳配置,如何將其與微控制器連接以及如何解碼DHT11傳感器的數(shù)字輸出。
所以,我建議您參考該項目一次,以獲取有關(guān)DHT11濕度和溫度傳感器的更多信息。我將解釋一下我在Arduino項目中遺漏的一些事情。
我們知道輸出來自DHT11傳感器是數(shù)字的。但我們究竟能讀取這些數(shù)字數(shù)據(jù)?
從DHT11讀取數(shù)字輸出
DHT11使用單總線數(shù)據(jù)格式進行通信。只有像Arduino或Raspberry Pi這樣的MCU與DHT11傳感器之間的單條數(shù)據(jù)線足以交換信息。
在此設(shè)置中,微控制器充當(dāng)主設(shè)備和DHT11傳感器充當(dāng)從站。 DHT11傳感器的數(shù)據(jù)輸出采用漏極開路配置,因此必須在5.1KΩ電阻的幫助下將其拉高。
此上拉將確保當(dāng)Master沒有請求數(shù)據(jù)時,數(shù)據(jù)的狀態(tài)為HIGH(除非Master請求,否則DHT11不會發(fā)送數(shù)據(jù))。
現(xiàn)在,我們將如何傳輸數(shù)據(jù)和DHT11傳感器的數(shù)據(jù)格式。每當(dāng)微控制器想要從DHT11傳感器獲取信息時,
微控制器的引腳被配置為OUTPUT,它將使數(shù)據(jù)線保持低電平至少18ms并釋放線路。在此之后,微控制器引腳設(shè)為INPUT。
DHT11傳感器的數(shù)據(jù)引腳,即INPUT引腳,讀取微控制器產(chǎn)生的低電平,并充當(dāng)輸出引腳,在數(shù)據(jù)線上發(fā)送低信號響應(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)更改為輸入以接受來自微控制器的請求。
注意:我們在編寫Arduino時實現(xiàn)了這個邏輯。但是對于Raspberry Pi,我們使用了一個處理所有這些事情的庫。
Raspberry Pi DTH11濕度和溫度傳感器接口
通過將DHT11傳感器與Raspberry Pi連接,您可以構(gòu)建自己的物聯(lián)網(wǎng)氣象站。實現(xiàn)此類物聯(lián)網(wǎng)天氣所需的只是Raspberry Pi,DHT11濕度和溫度傳感器以及具有互聯(lián)網(wǎng)連接功能的計算機。
電路圖
以下是DHT11和Raspberry Pi接口的電路圖。
所需組件
Raspberry Pi 3型號B
DHT11溫度和濕度傳感器
連接電線
計算機
如果你觀察電路圖,那么連接方面就沒有很多東西了。您需要做的就是將DHT11傳感器的VCC和GND引腳連接到Raspberry Pi的+ 5V和GND,然后將傳感器的數(shù)據(jù)輸出連接到GPIO4,即Raspberry Pi的物理引腳7。
安裝DTH11庫
由于我們使用Adafruit為此項目提供的名為Adafruit_DHT的庫,我們需要先將此庫安裝到Raspberry Pi中。
第一步是從GitHub下載庫。但在此之前,我在Raspberry Pi的桌面上創(chuàng)建了一個名為“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)容,請使用“l(fā)s”命令。
在該文件夾中,有一個名為“setup.py”的文件。我們需要使用以下命令安裝此文件。
sudo python setup.py install
代碼
我們正在使用該庫對于這個項目的Adafruit_DHT,Python編程部分沒什么可做的。您需要做的就是使用傳感器和GPIO引腳調(diào)用庫并打印溫度和濕度值。
工作
按照電路圖進行連接并安裝庫。使用上面的python程序查看結(jié)果。
應(yīng)用程序
DHT11溫度和濕度傳感器是業(yè)余愛好者在許多物聯(lián)網(wǎng)項目中實施的流行傳感器模塊之一。此傳感器與Raspberry Pi一起也可用于:
HVAC Systems
恒溫器
家庭和辦公室氣候控制
氣象站
-
傳感器
+關(guān)注
關(guān)注
2566文章
53008瀏覽量
767528 -
樹莓派
+關(guān)注
關(guān)注
121文章
2009瀏覽量
107481
發(fā)布評論請先 登錄
評論