600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > DHT11温湿度传感器(基于树莓派)

DHT11温湿度传感器(基于树莓派)

时间:2019-01-23 14:59:52

相关推荐

DHT11温湿度传感器(基于树莓派)

1.DHT11的数据格式

2.工作原理

3.工作流程

第一步:树莓派发送开始信号,从传感器会返回一个相应的信号进行应答

第二步:树莓派信号线拉高准备接受数据

第三步:开始接受数据(一次接收40位)

单片机和传感器正在通信时,总线处于通信状态,一次完整的通信如下:

第一步:传感器上电后(DHT11上电后要等到1秒越过不稳定状态,在此期间不能发送任何指令),测试环境温湿度数据,开始记录数据,同时DHT11的data数据线由上拉电阻拉高一直保持高电平;此时DHT11的data引脚处于输入状态,时刻检测外部信号。

第二步:微处理器的 I/O 设置为输出,同时输出低电平,且低电平保持时间不能小于 18ms,然后输出高电平20~40us,再树莓派的 I/O设置为输入状态,等待 DHT11 作出回答信号,发送信号如图所示:

第三步:

DHT11 的 DATA 引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后 DHT11 的 DATA引脚处于输出状态,输出 80 微秒的低电平作为应答信号,紧接着输出 80 微秒的高电平通知外设准备接收数据,树莓派的 I/O 此时处于输入状态,检测到 I/O 有低电平(DHT11 回应信号)后,等待 80 微秒的高电平后的数据接收,发送信号如图所示:

第四步:

由 DHT11 的 DATA 引脚输出 40 位数据,树莓派根据 I/O 电平的变化接收 40 位数据,位数据“0”的格式为: 50 微秒的低电平和 26-28 微秒的高电平;位数据“1”的格式为: 50 微秒的低电平加 70微秒的高电平。位数据“0”、“1”格式信号如图所示:

结束信号:DHT11 的 DATA 引脚输出 40 位数据后,继续输出低电平 50 微秒后转为输入状态,由于上拉电阻随之变为高电平。但 DHT11 内部重测环境温湿度数据,幵记录数据,等待外部信号的到来。

注意事项:

1、DHT11上电后,要等待 1秒 以越过不稳定状态,在此期间不能发送任何指令。

2、DHT11属于低速传感器,两次通信请求之间的间隔时间不能太短,一般来说要不能低于1秒。

对DHT11的时序做一个总结:

一. 主机(单片机)发送起始信号:

1.主机先拉高data。

2.拉低data延迟18ms。

3.拉高data(单片机引脚设置为输入)。

二. 从机(DHT11)收到起始信号后进行应答:

从机拉低data,主机读取到data线被拉低持续80us后从机拉高data线, 持续80us,直到高电平结束,意味着主机可以开始接受数据。

三. 主机开始接收数据:

1.主机先把data线拉高(io设置为输入)。

2.从机把data线拉低,主机读取data线电平,直到低电平结束(大约50us)从机拉高data线后,对比高电平持续的时间,如果持续时间较短,则为位“0”;如果持续时间较长时,则为位“1”。

3.继续重复上述1,2步骤累计40次。

四. data线拉低50us代表读取结束

五. 校验数据

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。