DHT11数字温度 - 湿度传感器是一种包含校准数字信号输出的复合传感器。它采用特殊的数字模块采集技术和湿度 - 温度传感器技术,确保高可靠性和出色的长期稳定性。传感器由电阻式湿度元件和NTC温度测量元件组成 。 DHT11通过单总线与微处理器通信。 它只需要一个线程,一次发送40个数据 。
数据格式: 8位湿度整数数据+ 8位湿度十进制数据+ 8位温度整数数据+ 8位温度十进制数据+ 8位奇偶校验位。
数据发送过程:主控发送启动信号 - > DHT响应信号 - > DHT通知主控它已准备好接受信号 - > DHT发送准备好的数据 - > DHT结束信号 - > DHT内部重新测试环境温度和湿度,记录下一个数据 从主控开始发出信号。
通过该过程获得,每次收集的数据主控始终是最后一次DHT数据。如果我们想获得实时数据,那么主控可以收集两个连续的数据,但是,正式地,不建议连续多次读取DHT。如果每次读取的间隔时间超过5秒,则足以获得准确的数据。DHT在通电时需要1秒才能稳定。
引脚名称 | 描述 |
---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
S | 数字信号引脚 |
供电电压:3.3V / 5V
连接方式:PH2.0端子线
安装方式:双螺丝固定
示例程序:点击下载
//DHT11传感器接引脚D6 #include <DHT.h>//调用温dht湿度库 volatile float wendu = 0;//设置温度变量 volatile float shidu = 0;//设置湿度变量 DHT dht6(6, 11);//定义温湿度传感器引脚 void setup() { Serial.begin(9600);//设置波特率 dht6.begin();//启动 } void loop() { delay(2000);//延时2秒 shidu = dht6.readHumidity();//将湿度读取为摄氏度(默认值)赋给变量 wendu = dht6.readTemperature();//将温度读取为摄氏度(默认值)赋给变量 Serial.print(wendu);//串口打印温度 Serial.print("℃"); Serial.print(" "); Serial.print(shidu);//串口打印湿度 Serial.println("%"); }
示例程序:点击下载
准备配件:
电路接线图:
首先找到Arduino库文件夹:
把库文件复制到Arduino IDE软件目录下的libraries文件夹中即可:
库文件:点击下载
视频教程:点击查看
器件连接好线之后,将上述程序上传到开发板后,打开串口监视器。 您将看到当前温度和湿度的数据显示在窗口上。