DHT11温湿度传感器学习笔记

本文介绍了DHT11温湿度传感器的基本概念、电路图和工作原理,详细阐述了单片机如何读取传感器数据,包括数据结构、时序图解析,帮助理解传感器通信过程。
摘要由CSDN通过智能技术生成

一、认识DHT11传感器
1.概念
DHT11 是广州奥松有限公司生产的一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一个I/O 口。传感器内部湿度和温度数据 40Bit 的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。DHT11 功耗很低,5V 电源电压下,工作平均最大电流 0.5mA。
性能指标和特性如下:
工作电压范围:3.5V-5.5V
工作电流 :平均 0.5mA
湿度测量范围:20-90%RH
温度测量范围:0-50℃
湿度分辨率 :1%RH 8 位
温度分辨率 :1℃ 8 位
采样周期 :1S
单总线结构
与 TTL 兼容(5V)
2.电路图
在这里插入图片描述
3.实物图
在这里插入图片描述
在这里插入图片描述
S:signal 信号线
—:表示GND
二、单片机读取数据
1.数据结构
DHT11数字湿温度传感器采用单总线数据格式。即,单个数据引脚端口完成输入输出双向传输。其数据包由5Byte(40Bit)组成。数据分小数部分和整数部分,具体格式在下面说明。
一次完整的数据传输为40bit,高位先出。
在这里插入图片描述
校验和数据为前四个字节相加。
传感器数据输出的是未编码的二进制数据。数据(湿度、温度、整数、小数)之间应该分开处理。如果,某次从传感器中读取如下5Byte数据:
在这里插入图片描述

由以上数据就可得到湿度和温度的值,计算方法:
humi (湿度)= byte4 . byte3=45.0 (%RH)
temp (温度)= byte2 . byte1=28.0 ( ℃)
jiaoyan(校验)= byte4+ byte3+ byte2+ byte1=73(=humi+temp)(校验正确)
注意:DHT11一次通讯时间最大3ms,主机连续采样间隔建议不小于100ms。

2.时序图
在这里插入图片描述
时序图真的很重要,也有助于理解代码。
1、主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号;
2、主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号;
3、DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号;
4、DHT11发送响应信号后,再把总线拉高8Ous,准备发送数据;
5、每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1;
6、主机发送开始信号后,可以切换到输入模式,或者输出高电平均可;
7、如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常。
当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。
在这里插入图片描述
三、代码

#include "dht11.h"
#include "delay.h"

#define DT GPIO_Pin_11
      
//复位DHT11
void DHT11_Rst(void)	   
{
                    
	DHT11_IO_OUT(); 	//SET OUTPUT
	DHT11_DQ_OUT=
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值