0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

单片机 来源:单片机 2020-05-14 10:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

    文章

    324

    浏览量

    59807
  • Arduino
    +关注

    关注

    190

    文章

    6527

    浏览量

    197521

原文标题:如何用Arduino读取DHT11湿度传感器数据?

文章出处:【微信号:aidanpianji,微信公众号:单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【RA-Eco-RA4M2开发板评测】+ OLED显示DHT11数据

    按键、2触摸按键、3高亮 LED。 之前完成了OLED显示的测评现在进行DHT11传感器数据采集,然后显示,OLED部分不再重复说明; DHT1
    发表于 03-29 19:49

    使用STM32F103ZET6采集DHT11温湿度串口显示

    DHT11款数字温湿度传感器DHT11款含有已校准数字信号输出的
    的头像 发表于 03-18 17:06 3783次阅读
    使用STM32F103ZET6采集<b class='flag-5'>DHT11</b><b class='flag-5'>温湿度</b>串口显示

    HDC2010:低功耗温湿度数字传感器的卓越之选

    低功耗温湿度数字传感器,看看它有哪些独特的特性和优势。 文件下载: hdc2010.pdf 、HDC2010 概述 HDC2010 是款高度集成的数字
    的头像 发表于 02-12 11:25 503次阅读

    HDC2021高精度温湿度传感器:特性、应用与设计要点

    详细介绍HDC2021的特性、应用场景以及设计过程中的关键要点,帮助工程师们更好地了解和使用这款传感器。 文件下载: hdc2021.pdf 、HDC2021特性亮点 1.1 高精度测量 HDC2021在
    的头像 发表于 02-11 16:00 309次阅读

    【CW32F030CxTx StartKit测评】驱动OLED和DHT11

    ? 已经实现了OLED的驱动,这里测试下如何读取温湿度传感器DHT11。具体怎么读取温湿度这里就不再赘述了。 看看如何在程序里面实现吧
    发表于 01-30 07:55

    燃气表需要温湿度传感器推荐啥?

    嘿,朋友们,今天有挺有意思的选型问题想和大家聊聊。有客户来问:“燃气表里需要温湿度传感器,温度精度要求0.2℃,湿度精度要±2%RH,
    的头像 发表于 01-28 12:05 382次阅读
    燃气表需要<b class='flag-5'>一</b>颗<b class='flag-5'>温湿度</b><b class='flag-5'>传感器</b>推荐啥?

    【瑞萨FPB-RA6E2试用】【瑞萨FPB-RA6E2】Zephyr-驱动-DHT11-温湿度传感器及设备树理解

    温湿度采集模块 该示例体现了 Zephyr OS 对传感器设备的统抽象能力,使开发者能以致的方式访问不同类型的传感器,同时保持代码简洁
    发表于 01-13 14:54

    【瑞萨RA6E2地奇星开发板试用】串口通信+DHT11测量温湿度

    实现效果如上视频。 首先先要了解DHT11温湿度传感器的原理。 DHT11温湿度传感器
    发表于 12-26 18:23

    【瑞萨RA6E2地奇星开发板试用】DHT11 测量温湿度

    使用瑞萨 RA6E2 微控制,实现 DHT11 温湿度传感器的数据采集,并通过 I2C 接口的 OLED12864 显示屏实时显示数据。
    发表于 12-19 18:50

    【瑞萨RA6E2地奇星开发板试用】串口打印DHT11温湿度数据

    【瑞萨RA6E2地奇星开发板试用】串口打印DHT11温湿度数据 本文介绍了 RA6E2 地奇星开发板驱动 DHT11 传感器实现串口打印环境温湿度
    发表于 12-07 16:20

    温湿度传感器HTU31D在温湿度中的应用优势

    对环境温湿度即时采样,当环境温度高于控制设定值时控制电路停止或者通过PWM降低加热功率,温度恒定在设置值附近,同样,湿度也是类如如此控制方式。为了准确控制
    的头像 发表于 11-06 14:38 472次阅读
    <b class='flag-5'>温湿度</b><b class='flag-5'>传感器</b>HTU31D在<b class='flag-5'>温湿度</b>控<b class='flag-5'>器</b>中的应用优势

    什么是温湿度传感器的水合?

    温湿度传感器需要进行水合处理(Hydration),主要是为了优化传感器的性能、稳定性和长期可靠性。以下是具体原因和作用的详细解释:1.稳定湿度敏感材料电容式
    的头像 发表于 07-11 12:10 1298次阅读
    什么是<b class='flag-5'>温湿度</b><b class='flag-5'>传感器</b>的水合?

    常见的温湿度传感器类型?

    DHT11温湿度传感器 DHT11种常见的数字温湿度
    发表于 06-24 09:24

    【RA4L1-SENSOR】DHT11温湿度OLED显示

    为I2C接口,开漏输出 P107 设置为 DHT11 单总线接口 OLED 驱动代码如下: void OLED_SSD1306_Init(void) { u8 i
    发表于 06-12 11:02

    用树莓派RP2350 DIY 桌面动态温湿度

    桌面动态温湿度计本文介绍了DFrobotBeetleRP2350开发板结合DHT11模块、锂电池模块、随机眨眼动画,实现OLED显示的桌面动态温湿度计的项目设计。、项目介绍本项目包括
    的头像 发表于 05-27 08:05 1131次阅读
    用树莓派RP2350 DIY 桌面动态<b class='flag-5'>温湿度</b>计