芯片: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分钟后数据才会正常。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐