dht22温湿度传感器
时间: 2025-01-03 13:42:21 浏览: 10
### DHT22 温湿度传感器使用方法
DHT22 是一款集成式的温湿度传感器,具有较高的精度和稳定性。该设备拥有 VCC、GND 和 DATA 三个主要引脚用于连接电源与数据传输,其中 NC 引脚未被使用[^1]。
#### 接线图
对于 Arduino 平台而言,可以按照如下方式完成硬件连接:
| DHT22 Pin | Function | Connect To |
|--|---------------------|
| VCC | Power Supply | 3.3V or 5V (Arduino)|
| GND | Ground | GND |
| DATA | Digital Signal | Any digital pin |
| NC | Not Connected | — |
确保给定的供电电压处于 3 至 5伏特之间以保障正常运作。
#### 数据读取流程
当主控制器向 DHT22 发送请求命令之后,它会启动一次完整的采样过程并返回所测得的数据包。这个过程中涉及到初始化通信协议以及解析收到的信息帧等内容。
#### 示例代码
为了简化编程难度,通常建议采用现成的库函数来进行操作。下面给出一段基于 Adafruit 提供的 `DHT` 库实现的例子,这段程序能够周期性的获取当前环境下的相对湿度百分比及摄氏度数值,并打印至串口监视器中。
```cpp
#include "DHT.h"
#define DHTPIN 2 // 这里定义了DATA引脚对应的数字端口号
#define DHTTYPE DHT22 // 设置使用的型号为DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("% Temperature: ");
Serial.print(temperature);
Serial.println("°C");
delay(2000); // 延迟两秒再进行下一轮检测
}
```
阅读全文