Dth11温湿度传感器
元件:该传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
引脚说明:
- VDD:供电3-5.5V
- DATA:串行数据,单总线
- NC:空脚,请悬空
- GND:接地,电源负极
工作流程:
DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零。操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据 + 8bit湿度小数数据 + 8bit温度整数数据 + 8bit温度小数数据 +8 bit校验和
数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。bits[0]+bits[1]+bits[2]+bits[3]=bits[4]
主机请求:总线拉低至少18ms,之后总线拉高延时等待20-40us,切换到输入模式;
DHT响应:接收到开始信号后,等待主机信号结束,然后发送80us低电平响应信号,之后把总线拉高80us准备发送数据,每一bit数据以50us低电平时隙开始,高电平的长短决定数据位为0或1,当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。
代码说明
1 | float dht11::dec2f(uint8_t x) |