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()
执行代码,效果如下图,测量结果如果一开始不准确,可以等待一下数据刷新的结果;
实验结果
从上图可见,测量结果温度还是很准确的,湿度有差异,但是也在合理误差范围。