dht11.zip

  • 浏览量:2992
  • 下载量:511
  • 资料大小:3.42 KB
  • 日期:2016-08-01
  • 上传者:bluebanboom
  • 分享
  • 评论
  • 举报
  • 收藏

资料描述

    dht11是个比较常见的模块,可以获取温湿度,比ds18b20多了湿度的获取。
    网络上关于dht11的资料很多,本来觉得这篇写起来会没什么干货,但是在实践的过程中发现,并不是那么回事。
    资料多归多,但是真正讲清楚的少之又少,很多只是贴了代码,但是其中原理并没讲,有的讲了原理,但是有些关键的细节又没写。本来以为一个被用烂的模块很容易就搞定了,但是花了整整一天,最终还是找到datasheet把所有问题都搞明白了。之前在arduino上也用过dht11,复制一下代码就好了,但是,m1上可没现成代码复制,通过这次移植的过程,从会用到懂其中的门道,这一步迈的可不小。

    有两点需要特别强调的,一是时序,二是数据格式,特别是数据格式,在大多数资料中都忽略了。牢记这两点,在移植过程中就会明白很多。另外在数据手册里提到从dht11读取的温湿度数据总是前一次的测量值,如果两次测量时间较长,请连续读取两次。

    首先关于dht11是一个单总线的设备,数据读取是通过一根线来实现,所以dht11模块只有三个引脚+,-,data。dht11数据获取需要依赖高精度的延时函数,这一点非常重要,如果延时函数精度不高,那么数据基本上读不正确。来看一下读取温湿度过程的一个完整时序图。
评论(0)

登录后可评论,请 登录注册

   
相关资料
换一换