DHT11温湿度传感器
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。其成本低、长期稳定、可以测量相对湿度和温度测量,并可以只使用一根数据线进行温湿度采集。
模块来源
规格参数
工作电压:3-5.5V
工作电流:1MA
测量分辨率:8 bit
通信协议:单总线
管脚数量:3 Pin(2.54mm间距排针)
硬件连接
VCC 接 开发板 的 5V
GND 接 开发板 的 GND
DATA 接 开发板 的一个数字引脚(例如,2号引脚)
DHT11 通常有一个单独的数据线,以及一个可选的上拉电阻连接到VCC。一些模块可能已经包括这个上拉电阻。
使用方法
安装库
需要安装用于读取DHT11数据的库。Adafruit 提供了一个很好的库,可以用Arduino IDE的库管理器安装。
- 打开 Arduino IDE。
- 前往 工具 > 管理库。
- 搜索
DHT sensor library
并安装(作者是 Adafruit)。
编写代码
c
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月08日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 技术支持常驻论坛,任何技术问题欢迎随时交流学习
* 立创论坛:club.szlcsc.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
#include "DHT.h"
#define DHTPIN 2 // 定义DHT11数据针脚连接到Arduino的2号引脚
#define DHTTYPE DHT11 // 定义DHT类型为DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("DHT11 温湿度测试:");
// 初始化DHT11传感器
dht.begin();
}
void loop() {
// 等待几秒钟之间的读取(DHT11 的读取速度相对较慢)
delay(2000);
// 读取温度和湿度值
float h = dht.readHumidity();
float t = dht.readTemperature();
// 检查是否读取失败,并退出早期
if (isnan(h) || isnan(t)) {
Serial.println("读取DHT11失败!");
return;
}
// 输出读取到的温度和湿度
Serial.print("湿度: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("温度: ");
Serial.print(t);
Serial.println(" °C ");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51