EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 harry-IoT 于 2019-12-17 08:51 编辑
一.简介 DHT11作为一款低价、入门级的温湿度传感器,常用于我们的单片机设计实例中;它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。 DHT11为 4 针单排引脚封装,如下图,采用单线制串行接口,只需加适当的上拉电阻,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选择。 二.传感器参数 1.DHT11电气参数如下: 2.引脚定义 3.典型电路 DHT11的供电电压为 3-5.5V,电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。DATA引脚并联一个5K以上的上拉电阻,增强信号的抗干扰额能力。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。
三.传感器控制时序 1.数据格式 DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零,操作流程如下: 一次完整的数据传输为40bit,高位先出。 数据格式: 8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和
8位校验和: "8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据"相加所得结果的末8位。
2.控制时序 要实现对DHT11传感器的控制和数据的读取,需先学会分析DHT11的控制时序。时序主要分为三部分: (1)触发DHT11采集数据 总线空闲状态为高电平,单片机把总线拉低等待DHT11响应,单片机把总线拉低必须大于18ms,保证DHT11能检测到起始信号。 当DHT11接收到单片机的开始信号后,等待单片机开始信号结束,然后发送80us低电平响应信号。 单片机发送开始信号结束后,延时等待20-40us后,切换为输入状态,等待DHT11的80us低电平信号结束,然后判断DHT11是否是否发出 80us 的高电平;如果是,即可开始采集数据。 (2)数字0信号时序 当DHT11输出数字0时, 单片机读取到的信号为50 us的低电平,之后为26-28 us的高电平。 (3)数字1信号时序 当DHT11输出数字0时, 单片机读取到的信号为50 us的低电平,之后为70 us的高电平。 由此可知DHT11输出数字0和数字1的区别在于高电平的时间,由此单片机可在读取到高电平后,延时30us后,识别此时总线的电平,高电平为数字1,低电平为数字0; (4)总时序图 用户mcu发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。 从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集。当一次完整的采集数据后,DHT11会转换到低速模式。
|