DHT11 温度湿度传感器实验
DHT11是一款含有已校准数字信号输出的温湿度复合传感器,它可以输出当前测定的环境温度和湿度;其中温度测量范围是0~50度,湿度是20-90%RH;测量精度是温度+-2度,湿度是+-5%;接下来我们将尝试如何将这两部分信息打印出来。
接线示例:
其中: (1)-接GND; (2)+接VCC,范围是3.3v~5v,此处接3.3v; (3)out为信号线,接自定义Pin脚,此处接Pin18;
采集程序部分,采用的是github已有的程序,测试精确度还是不错;程序获取地址:
sudo git clone https://github.com/szazo/DHT11_Python.git
如果地址不可访问,文章最后有可用下载包。
代码下载后,可见example.py,文件,此处我们复制一下文件然后进行简单修改;
cp example.py jiujiang.py
修改jiujiang.py文件如下:
#!usr/bin/env python
#coding:utf-8
'''
from JiuJiang
树莓酱的操作实例
https:://www.suhmeijiang.com
'''
import RPi.GPIO as GPIO
import dht11
import time
import datetime
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
# 设置使用的 pin 18引脚
instance = dht11.DHT11(pin=18)
try:
while True:
result = instance.read()
if result.is_valid():
print("\n");
print("最后采集时间: " + str(datetime.datetime.now()))
print("当前温度: %-3.1f C" % result.temperature)
print("当前湿度: %-3.1f %%" % result.humidity)
time.sleep(2) #测量频率 2秒/次
except KeyboardInterrupt:
print("停止采集")
GPIO.cleanup()
执行代码,效果如下图,测量结果如果一开始不准确,可以等待一下数据刷新的结果;
从上图可见,测量结果温度还是很准确的,湿度有差异,但是也在合理误差范围。