芯片:ESP32
环境:Arduino
一、安装DHT11传感器库
红框的库,别安装错了
二、代码
注意,DATA口要连接在D15上
#include "DHT.h" // 包含DHT库
#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15
#define DHTTYPE DHT11 // 定义传感器类型为DHT11
DHT dht(DHTPIN, DHTTYPE); // 创建DHT传感器对象
void setup() {
Serial.begin(9600); // 初始化串口通信,波特率设置为9600
dht.begin(); // 初始化DHT11传感器
}
void loop() {
// 读取湿度和温度值
float h = dht.readHumidity(); // 读取湿度
float t = dht.readTemperature(); // 读取温度
// 检查读取是否成功
if (isnan(h) || isnan(t)) {
Serial.println("读取DHT11失败!"); // 如果读取失败,在串口监视器打印失败信息
return;
}
// 串口打印温湿度信息
Serial.printf("湿度: %.1f%% 温度: %.1f°C\n", h, t); // 格式化输出湿度和温度
delay(2000); // 等待2秒钟再次读取,DHT11的读取间隔建议不少于2秒
}
使用串口读出数据,具体情况看图1
备注:第一次烧写后要等待约2分钟后数据才会正常。