1. 项目概述
作为一个嵌入式开发爱好者,我一直想打造一个能够实时监测室内环境的温湿度采集系统。ESP32作为一款性价比极高的Wi-Fi/蓝牙双模芯片,配合DHT11温湿度传感器,正好可以满足这个需求。这个项目不仅能帮助我了解室内环境状况,还能作为学习嵌入式开发的入门实践。
DHT11是一款基础型的数字温湿度传感器,价格亲民且易于使用。它采用单总线通信协议,只需要一根数据线就能与主控芯片完成数据交互。虽然精度不算太高(温度±2℃,湿度±5%RH),但对于一般的室内环境监测已经完全够用。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件准备与接线
2.1 所需材料清单
要完成这个项目,我们需要准备以下硬件:
- ESP32开发板(推荐使用NodeMCU-32S或ESP32 DevKit)
- DHT11温湿度传感器模块(注意区分模块版和元件版)
- 杜邦线若干(建议使用公对公或公对母,视开发板接口而定)
- 面包板(可选,但能大大简化接线过程)
- Micro USB数据线(用于供电和程序烧录)
提示:DHT11有模块版和元件版两种,建议初学者选择模块版,因为已经内置了上拉电阻,使用更方便。
2.2 接线详解
正确的接线是项目成功的第一步。DHT11有三个引脚:VCC(电源正极)、GND(电源负极)和DATA(数据线)。接线方式如下:
-
电源连接:
- ESP32的3.3V引脚 → DHT11的VCC
- ESP32的GND引脚 → DHT11的GND
-
数据线连接:
- ESP32的GPIO23(或其他可用GPIO)→ DHT11的DATA
注意:如果使用的是DHT11元件版(非模块版),需要在DATA线和VCC之间接一个4.7kΩ的上拉电阻。
2.3 为什么选择GPIO23?
ESP32的大部分GPIO都可以用于连接DHT11,但有几个注意事项:
- 避免使用GPIO0(可能影响程序烧录)
- 避免使用GPIO2(内置连接开发板LED,可能冲突)
- 避免使用GPIO12(上电时的电平状态会影响启动模式)
GPIO23是一个相对"安全"的选择,没有特殊限制,这也是我在代码中使用它的原因。当然,你也可以根据实际情况选择其他GPIO,只需在代码中相应修改即可。
