构建一个小电路以将Arduino与DHT11温湿度传感器接口

描述

DHT11是湿度和温度传感器,可产生校准的数字输出。DHT11可以与任何微控制器(如Arduino,Raspberry Pi等)接口并获得即时结果。DHT11是一款低成本的湿度和温度传感器,具有很高的可靠性和长期稳定性。

在这个项目中,我们将构建一个小电路以将Arduino与DHT11温湿度传感器接口。将DTH11传感器与Arduino连接的主要应用之一是天气监控。

在本文中,我们已经了解了湿度,相对湿度,湿度传感器及其类型。

Arduino

Arduino

Arduino

电路图

下图显示了实施该项目所需的所有必要连接。

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湿度传感器价格便宜,速度慢,但在爱好者和初学者中非常受欢迎。

Arduino

DHT11湿度和温度传感器由3个主要组件组成。电阻型湿度传感器,NTC(负温度系数)热敏电阻(用于测量温度)和8位微控制器,可转换来自两个传感器的模拟信号并发送单个数字信号。

任何微控制器或微处理器都可以读取此数字信号,以进行进一步分析。

Arduino

DHT11湿度传感器由4个引脚组成:VCC,数据输出,未连接(NC)和GND。VCC引脚的电压范围为3.5V至5.5V。5V电源会很好。来自数据输出引脚的数据是串行数字数据。

下图显示了DHT11湿度和温度传感器的典型应用电路。DHT11传感器可以测量相对湿度(RH)的20 – 90%范围内的湿度值,以及0 – 50 0 C 范围内的温度。传感器的采样周期为1秒,即所有DHT11传感器均准确经过实验室校准,结果存储在存储器中。可以在Arduino和DHT11传感器等任何微控制器之间建立单线通信。

Arduino

另外,电缆的长度可以长达20米。来自传感器的数据包括相对湿度(RH)和温度的整数和小数部分。

DHT11传感器的数据由40位组成,格式如下:

8 – RH积分值的位数据,8 – RH十进制值的位数据,8 –积分温度值的位数据,8 –积分温度值的位数据,8 –校验和位数据。

考虑从DHT11传感器接收的数据是

00100101 00000000 00011001 00000000 00111110。

该数据可以根据上述结构如下进行分离

Arduino

为了检查接收到的数据是否正确,我们需要进行少量计算。将RH和Temperature的所有整数和十进制值相加,并检查总和是否等于校验和值,即最后8位数据。

00100101 + 00000000 + 00011001 + 00000000 = 00111110

该值与校验和相同,因此接收到的数据有效。现在要获取RH和Temperature值,只需将二进制数据转换为十进制数据即可。

RH = 00100101的十进制= 37%

温度=十进制00011001 = 25 0 C

项目运作

使用Arduino UNO和DHT11湿度和温度传感器构建了一个简单的项目,其中环境的湿度和温度在LCD显示屏上显示。

建立连接后,我们无需执行任何操作,因为该程序将处理所有事情。尽管DHT11模块有一个特殊的库称为“ DHT”,但我们并未使用它。如果要使用此库,则需要单独下载该库并将其添加到Arduino的现有库中。

编写的程序基于数据手册中提供的数据时序图。该程序将使Arduino自动从传感器读取数据,并将其作为湿度和温度显示在LCD显示屏上。 

代码

Arduino

Arduino


Arduino

注释:
pinMode(gate,INPUT_PULLUP);//by default it will become high due to internal pull up

应用领域

DHT11相对湿度和温度传感器可用于许多应用,例如:

HVAC(供暖,通风和空调)系统

气象站

湿度测量医疗设备

家庭自动化系统

汽车和其他天气控制应用 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分