esp32 cam
时间: 2025-05-19 08:20:08 浏览: 27
### ESP32-CAM模块使用教程与编程示例
#### 硬件概述
ESP32-CAM是一款集成了WiFi和蓝牙功能的微控制器模块,内置OV2640摄像头芯片,支持图像捕获和视频流传输。该模块因其低成本、高性能以及丰富的外设接口而受到广泛欢迎[^3]。
---
#### 快速入门指南
##### **硬件准备**
要开始使用ESP32-CAM模块,需准备好以下设备:
- ESP32-CAM模块
- USB转TTL串口模块(用于烧录固件)
- 连接线
- 电源适配器(建议输入电压范围为5V)
##### **软件准备**
- 下载并安装MicroPython固件至ESP32-CAM模块。
- 配置串口调试工具(推荐PuTTY或其他类似工具),以便上传代码并与模块通信。
具体操作流程可参考官方文档或社区资源中的详细说明[^1]。
---
#### 编程示例:拍摄照片并通过UART发送数据
以下是利用MicroPython编写的简单程序,展示如何控制ESP32-CAM模块拍照并将图片数据通过串口发送:
```python
import machine, time
from machine import Pin, UART
# 初始化UART端口
uart = UART(2, baudrate=115200)
# 初始化相机
def init_camera():
from camera import Camera
cam = Camera()
return cam
cam = init_camera()
while True:
# 捕捉一张图片
img = cam.capture()
if img is not None:
uart.write(img) # 将图片数据写入UART
print("Image sent over UART.")
time.sleep(2)
```
上述代码展示了如何初始化相机并定期获取图像帧,随后将其通过UART发送给外部接收设备[^1]。
---
#### 控制伺服电机实例
除了基本的图像处理能力之外,ESP32-CAM还可以与其他外围设备配合工作,比如MG 996R舵机。下面是一个简单的例子,演示如何驱动一个连续旋转的舵机完成特定角度调整:
```cpp
#include <Servo.h>
// 创建Servo对象
Servo myservo;
void setup() {
myservo.attach(4); // GPIO4作为PWM信号输出引脚
}
void loop() {
for (int pos = 0; pos <= 180; pos += 1) { // 移动到正向位置
myservo.write(pos);
delay(15);
}
for (int pos = 180; pos >= 0; pos -= 1) { // 返回初始位置
myservo.write(pos);
delay(15);
}
}
```
此Arduino草图定义了一个循环动作序列,在两个极端之间平稳移动舵机臂[^2]。
---
#### 应用场景扩展
借助其Wi-Fi特性,ESP32-CAM非常适合构建家庭自动化系统的一部分——例如实时监控婴儿房状态或者检测宠物活动区域等功能强大又实用的小型项目[^4]。
---
相关问题
阅读全文
相关推荐

















