因为手上有一块DHT11温湿度传感器一直没有使用过,今天就做了这个简易的温湿度检测系统。具体实现,不过是将采集的温湿度数据绘制成折线图而已。
一、模块简介
DHT11是一个集温度、湿度采集于一体的传感器,与 单片机之间,采用单总线 通信方式。
DHT11的数据结构:
8bit湿度整数数据+8bit湿度小数数据+
8bit温度整数数据+8bit温度小数数据+
8bit校验和
本人只保留了温湿度数据的整数部分。
DHT11的引脚功能如下图:
(网面朝向自己)
二、程序设计
1、绘制直角坐标系
直角坐标系的上半部分用于显示温度,下半部分用于显示湿度。
X轴为时间值,Y轴为温湿度值,Y轴最高处分别显示最新的温湿度数据。
红线为温湿度的阈值。
程序设计可适应不同分辨率大小的液晶屏,绘制出适应屏幕大小的直角坐标系。
2、温湿度采集
将采集的温湿度数据存放在缓存区中,每次折线图绘制结束后,数组中的温湿度数据左移一位。
大约每500ms采集一次温湿度,同时绘制一次折线图。
三、验证结果
最终结果如视频:
如视频,采集的温湿度数据变化太慢,感觉不如DS18B20灵敏。不知道是DHT11本来如此,还是我程序设计有问题。下次会重新用DS18B20试试。如果有大神知道,求指导。
四、程序源码
下面是程序源码,
1
|
|
|
|
谢谢楼主啊 我使用树莓派 来接dht11的 。 感觉楼主写的好专业啊,,膜拜!!! 借鉴了。。
|
|
|
|
|
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
|
|
|
|
|
我的天 张紫鑫么
|
|
|
|
|
我的天 张紫鑫么
|
|
|
|
|