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文章
303浏览量
58470 -
Arduino
+关注
关注
187文章
6461浏览量
186553
原文标题:如何用Arduino读取DHT11湿度传感器数据?
文章出处:【微信号:aidanpianji,微信公众号:单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论