【ESP32】打造全网最强esp-idf基础教程——7.读取DHT11温湿度传感器数据

读取DHT11温湿度传感器数据

       仙女打工,必有苦衷。。。吉时已到,下班班来更新博客啦~

一、DHT11介绍

       DHT11是一款常用的数字温湿度传感器,适合于需要测量温度和湿度的基本应用场景。其测量范围为湿度为5%到95%RH,温度范围为-20℃到60℃,湿度测量精度为±5%RH,温度测量精度为±2℃,采用单总线通信协议,通过一个数据引脚完成输入输出双向传输。   

DHT11实物图

       DHT11传感器有4个管脚,其中有一个管脚不用接,另外就是VCC,SIG,GND,可能大家自行买的DHT11是带了转接板的,因此需要仔细确认管脚顺序,DHT11硬件连接简单,与MCU连接如下所示,只需要在信号脚上接一个5K的上拉电阻即可。供电范围是3-5.5V,超过这个范围可能会烧毁。

       DHT11的通信包数据长度为40个字节。组成如下:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和,湿度小数数据是0不用关注,数据传输格式为高位在前,低位在后,校验和是前4个字节相加。对于DHT11的数据传输时序非常严格,并非是低电平为0,高电平为1,和上一课WS2812类似,对于逻辑0和逻辑1,均是通过不同时间的高电平占比来表示的。具体时序逻辑如下图:

       大致流程就是,主机发起开始信号(>18ms的低电平),拉高40us等待。然后DHT11会拉低80us表示响应信号,然后拉高80us表示开始传输数据。每一位数据前都有50us的低电平,紧接着如果是数据0,高电平持续时间大概在23-27us,如果是数据1,高电平大概是68us-74

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值