ESP32读取DHT11温湿度数据
芯片: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); // 初始化串口通信,波特率设置为9600dht.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分钟后数据才会正常。