温湿度传感器DHT11:
一 上电
DHT11 的供电电压为3-5.5V,传感器上电后,要等待1s 以越过不稳定状态,在此期间无需发送任何指令。
二 数据格式
采用单总线数据格式,一次通讯时间,4ms 左右,数据分小数部分和整数部分,一次完整的数据传输为8bit 湿度整数数据+8bit 湿度小数数据+8bi 温度整数数据+8bit 温度小数数据+8bit 校验和,总共40位,高位先出。
校验和 = “8bit 湿度整数数据+8bit 湿度小数数据+8bi 温度整数数据+8bit 温度小数数据” 所得结果为后8 位。
三 单总线时序如下
总线空闲状态为高电平,主机先把总线拉低必须大于18ms,再把总线拉高20-40us等待DHT11响应信号。DHT11拉低总线约80us,再拉高80us左右,然后开始发送数据给主机。
数据0的时序如下
数据1的时序如下
每一bit 数据都以50us 低电平时隙开始,高电平的长短来定了数据位是0 还是1。
具体代码实现
我们把读取的40bit存放到一个结构体里