两种dht11温度传感器的测试对比

    

    在设计BIT-温湿光三合一传感器模块的时候,要用到dht11来实现测量温度和湿度的功能。看淘宝销量,这个传感器用的人确实不少,于是就放心的买来用,但是总有些不尽人意的地方。其中我用到两种,一种是AOSONG 一种是ASAIR,两种应该都是奥松出的,只是AOSONG是老版本,ASAIR是新版本。两种DHT11从外观上看起来是一样的,但是要驱动起来还是有区别的。

AOSONG-DHT11:不管是温度还是湿度值更新的太慢,我对着传感器吹气,要等好久数据才会更新,测试了差不多更新要等一两分钟钟以上,我用单片机采集间隔在2s钟。对环境的变化反应速度太慢,但是AOSONG的数据比较稳定,间隔500ms来获取数据还是可以完整的获取的到。目前测试AOSONG的只有温湿度的整数部分小数部分是保留的,即读出来是0。

ASAIR-DHT11:更新速度会快一些,但是缺点就是数据不够稳定,当单片机间隔500ms读取数据的时候,单片机虽然发送了起始信号,但是dht11没有数据输出,当单片机读取间隔在2秒的时候比较稳定。这种的dht11温度部分带的有小数值,所以在做数据校验的时候要把温度的小数值也算上。

后来去官网看了资料,新版的ASAIR-DHT11升级成使用了电容式湿度传感器。建议大家去淘宝购买的时候还是选择使用新版的ASAIR-DHT11。官方的说明书在这里:http://www.aosong.com/userfiles/files/media/DHT11%E6%95%B0%E5%AD%97%E5%9E%8B%E6%B8%A9%E6%B9%BF%E5%BA%A6%E6%A8%A1%E5%9D%97-v1_3.pdf

关于对dht11协议解析的请看我另一篇帖子:https://www.eemaker.com/stm32-dht11-wire.html

纠正:关于前面的测试,更新过慢的问题可以否定了是dht11的问题,是我程序的bug,修复了之后就ok了。但是还是保留记录下之前存心犯的错误。ASAIR-DHT11读取间隔太小有时候读不出来数据这个问题是有的。下面列下我代码有bug的地方:

dht11valueCount=0;就是在数据读取完成以后忘记把计数值清0了,下次数据直接相当于数量已经读取够了,就不会再更新了。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注