esp32-cam连接dht11
时间: 2025-05-22 11:21:32 浏览: 19
### 使用ESP32-CAM连接和读取DHT11温湿度传感器
为了实现ESP32-CAM与DHT11温湿度传感器之间的通信并获取环境温度和湿度数据,在Arduino IDE环境中编写程序是一个常见做法。下面提供了一个完整的解决方案,包括硬件接线说明和软件编程指南。
#### 硬件准备
- **材料清单**
- ESP32-CAM开发板一块
- DHT11温湿度传感器一个
- 杜邦线若干根用于连接电路
- **接线方式**
将DHT11的数据引脚接到ESP32-CAM的指定GPIO端口上;VCC供电给3.3V或者5V均可接受;GND接地即可完成基本物理层链接[^4]。
#### 软件配置
安装必要的库文件以便于后续调用API函数处理来自DHT11的信息:
```cpp
#include "DHT.h"
#define DHTPIN 4 // 定义DHT11信号输入管脚,默认设置为GPIO4
#define DHTTYPE DHT11 // 设置使用的具体型号为DHT11
DHT dht(DHTPIN, DHTTYPE);
```
初始化阶段需加入`setup()`部分来启动设备和服务:
```cpp
void setup() {
Serial.begin(9600); // 初始化串行通讯波特率为9600bps
dht.begin(); // 启动DHT类对象关联的服务
}
```
主循环体负责周期性地收集最新测量结果并通过串口打印出来供观察分析:
```cpp
void loop() {
delay(2000); // 每隔两秒执行一次采样动作
float humidity = dht.readHumidity(); // 获取当前相对空气湿度百分比值
float temperature = dht.readTemperature();// 取得摄氏度表示下的实际气温数值
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("% Temperature: ");
Serial.print(temperature);
Serial.println("°C");
}
```
上述代码实现了基础功能演示,即每隔一段时间向串行监视窗口输出一组最新的温湿参数记录[^5]。
阅读全文
相关推荐



















