问题与开发环境概述:
DHT22温湿度模块没温湿度数据。开发版使用Arduino Uno。DHT22温湿度模块GND接GND;VCC接5V;DAT接5号引脚。库文件安装正确。串口监视器输出:无法读取湿度数据。
代码如下:
#include <DHT.h>
// 定义DHT传感器类型为DHT22,连接引脚为5
#define DHTPIN 5
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// 初始化串口通信,波特率设为9600
Serial.begin(9600);
// 初始化DHT传感器
dht.begin();
}
void loop() {
// 读取温度数据
float temperature = dht.readTemperature();
// 读取湿度数据
float humidity = dht.readHumidity();
// 判断温度读取是否成功
if (isnan(temperature)) {
Serial.println(F("无法读取温度数据"));
} else {
Serial.print(F("温度: "));
Serial.print(temperature);
Serial.println(F(" °C"));
}
// 判断湿度读取是否成功
if (isnan(humidity)) {
Serial.println(F("无法读取湿度数据"));
} else {
Serial.print(F("湿度: "));
Serial.print(humidity);
Serial.println(F(" %"));
}
delay(10000); // 延时10秒,避免读取过于频繁
}