DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度综合传感器,常用于暖通空调、汽车、除湿器、自动控制等领域。本篇介绍DHT11的驱动,通过串口打印采集到的环境温湿度数据。
DHT11是一款温湿度一体的数字传感器,内部包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机连接。外部只需要简单的电路连接,就能实时采集本地温湿度。DHT11与单片机等控制器采用简单的单总线进行通讯,只需要一个I/O口。传感器内部温湿度数据40Bit一次性传给单片机,数据采用校验和的方式进行校验,有效地保证数据传输的准确性。
DHT11技术参数如下:
DHT11的管脚排列,窗孔朝上,从左到右依次为VCC、Dout、NC、GND。
DHT11在电路连接中,通常会在数据引脚外加上拉电阻,如下为DHT11模块:
在Arduino IDE中点击「项目」—「加载库」—「管理库」,输入"dht11",会看到有很多的库,可根据情况自己选择安装使用。本文选择第二个「DHT sensor library」进行安装。

安装库
要使用「DHT sensor library」,我们还要下载安装「Adafruit_Sensor」,需要注意的是,此库并没有在管理库中找到

下载库
下载到压缩包后,在IDE中点击「项目」—「加载库」—「添加一个.ZIP库」,定位到刚才下载的压缩包进行安装。

添加库
DHT11的单总线连接非常简单,模块VCC、GND分别连接到开发板的3.3V、GND,模块的DATA引脚连接开发板的任意数字引脚,本文连接数字引脚2。
1#include "DHT.h"
2
3#define DHTPIN 2
4#define DHTTYPE DHT11
5
6DHT dht(DHTPIN, DHTTYPE);
7
8void setup() {
9 Serial.begin(9600);
10 Serial.println("DHT11 test");
11 dht.begin();
12}
13
14void loop() {
15 float h = dht.readHumidity();//读湿度
16 float t = dht.readTemperature();//读温度(摄氏度)
17
18 Serial.print("Humidity:");
19 Serial.print(h);
20 Serial.print("% Temperature:");
21 Serial.print(t);
22 Serial.println("℃");
23 delay(2000);
24}

程序下载
打开串口监视器,波特率设置成与程序中相一致,可以看到间隔打印采集到的温湿度数据。

实验现象
函数发生器、信号发生器和波形发生器的区别
时间:2026-06-06
电子元器件的常见封装 各种封装类型的特点介...
时间:2026-06-06
普通光敏二极管的检测
时间:2026-06-06
详细介绍8种常用的排序算法
时间:2026-06-06
s9013三级管引脚图及参数
时间:2026-06-06
电压跟随器有什么作用?
时间:2026-06-06
VRRP是什么?VRRP的作用和工作原理
时间:2026-06-05
32768晶振封装尺寸详解
时间:2026-06-05
静态路由是什么?静态路由如何配置?
时间:2026-06-05
一文详解光耦的作用与分类、使用技巧
时间:2026-06-05
电阻的单位
时间:2026-03-05
NVIDIA CPU+GPU超级芯片大升级!
时间:2026-03-09
贴片电阻怎么看阻值
时间:2026-03-05
电阻的原理和作用 电阻色环识别图 电路中电...
时间:2026-03-09
什么是硅片或者晶圆?一文了解半导体硅晶圆
时间:2026-03-09
什么是室温超导?半导体时代将走向结束?芯...
时间:2026-03-09
半导体光刻工艺 光刻—半导体电路的绘制
时间:2026-03-09
HTCC:半导体封装的理想方式
时间:2026-03-06
一文详解MOS管驱动电路拓扑的设计
时间:2026-03-09
石英灯电子变压器电路原理
时间:2026-03-06