ESP32教程:使用DHT11传感器测量温湿度

 2025-01-15  阅读 416  评论 8  点赞 177

摘要:本教程将介绍如何使用 ESP32 和 DHT11 传感器测量环境的温度和湿度,并通过串口监视器显示数据。 一、项目概述 在物联网项目中,环境监测是一个常见的应用场景。DHT11 是一种低成本的温湿度传感器,结合 ESP32 使用可以轻松实现实时数据采集。 二、所需材料 ESP32 开发板 DHT

教程将介绍如何使用 ESP32 和 DHT11 传感器测量环境的温度和湿度,并通过串口监视器显示数据。

ESP32教程:使用DHT11传感器测量温湿度

一、项目概述

在物联网项目中,环境监测是一个常见的应用场景。DHT11 是一种低成本的温湿度传感器,结合 ESP32 使用可以轻松实现实时数据采集。

二、所需材料

  • ESP32 开发板
  • DHT11 温湿度传感器
  • 跳线若干
  • 面包板(可选)

三、硬件连接

按照下图连接 DHT11 传感器和 ESP32:

  • DHT11 VCC - 连接到 ESP32 的 3.3V 引脚
  • DHT11 GND - 连接到 ESP32 的 GND 引脚
  • DHT11 数据引脚 - 连接到 ESP32 的 GPIO 4(可选其他 GPIO)

四、安装必要的库

在 Arduino IDE 中安装 DHT sensor libraryAdafruit Unified Sensor 库:

  1. 打开 Arduino IDE,依次点击:工具 > 库管理器
  2. 搜索 DHT sensor library 并安装。
  3. 同样安装 Adafruit Unified Sensor 库。

五、编写代码

以下是使用 DHT11 的完整代码:

#include 
#include 
#include 

#define DHTPIN 4      // 连接到 DHT11 数据引脚的 GPIO
#define DHTTYPE DHT11 // 使用 DHT11 传感器

DHT dht(DHTPIN, DHTTYPE);

void setup() {
    Serial.begin(115200); // 初始化串口
    Serial.println("DHT11 初始化...");
    dht.begin(); // 初始化 DHT11
}

void loop() {
    delay(2000); // 每隔 2 秒读取一次数据

    // 读取湿度
    float humidity = dht.readHumidity();
    // 读取摄氏温度
    float temperature = dht.readTemperature();

    // 检查是否读取失败
    if (isnan(humidity) || isnan(temperature)) {
        Serial.println("读取 DHT11 数据失败!");
        return;
    }

    // 输出结果
    Serial.print("湿度: ");
    Serial.print(humidity);
    Serial.print("%  温度: ");
    Serial.print(temperature);
    Serial.println("°C");
}

六、运行代码

  1. 将代码上传到 ESP32。
  2. 打开 Arduino IDE 的串口监视器,设置波特率为 115200
  3. 观察实时显示的温湿度数据。

七、扩展功能

  • 将数据通过 Wi-Fi 上传到云端服务器。
  • 添加 OLED 屏幕实时显示数据。
  • 设置超出特定范围时的报警机制。

八、总结

通过本教程,您学习了如何使用 ESP32 和 DHT11 传感器测量温湿度。这是物联网项目中一个基础且实用的功能,希望对您的项目开发有所帮助!

如果您有任何问题或建议,欢迎在评论区留言!

下一篇:没有了
标签:esp

评论列表:

  •   weihang233
     发布于 4天前回复该评论
  • 又学到了新知识!
显示更多评论

发表评论:

管理员

承接各种程序开发,外贸网站代运营,外贸网站建设等项目
  • 内容2460
  • 积分67666
  • 金币86666

Copyright © 2024 LS'Blog-保定PHP程序员老宋个人博客 Inc. 保留所有权利。 Powered by LS'blog 3.0.3

页面耗时0.0309秒, 内存占用1.98 MB, 访问数据库44次

冀ICP备19034377号