917浏览
查看: 917|回复: 1

[ESP8266/ESP32] ESP32 S3 实现 USB 摄像头

[复制链接]
ESP32提供了 USB 摄像头的官方例子,但是他们使用带有 PSRAM ESP32,经过研究,不支持 PSRAM的ESP32模组可以通过修改代码的方式实现USB摄像头的功能。这次以ESP32-S3-WROOM-1-N4模组(DFR0896)【参考1】为例,实现这个功能。

ESP32 S3 实现 USB 摄像头图1

首先使用这个模组制作一个底板【参考2

ESP32 S3 实现 USB 摄像头图2

接下来设计给摄像头模块使用的连接器,摄像头选择的是微雪电子的 OV2640模块。OV2640OmniVision公司生产的一颗1/4寸的CMOSUXGA1632*1232)图像传感器; 支持自动曝光控制、自动增益控制、自动白平衡、自动消除灯光条纹等自动控制功能。UXGA最高15/秒,SVGA可达30帧,CIF可达60帧; 支持图像压缩,即可直接输出JPEG图像数据.

ESP32 S3 实现 USB 摄像头图3

设计的 OV2640 Shield电路图如下,除了一个用于连接摄像头之外,还预留了一个 SD 卡座,让 ESP32 S3 板子有读写 SD 数据的能力。

ESP32 S3 实现 USB 摄像头图4
PCB 设计如下:

ESP32 S3 实现 USB 摄像头图5

3D预览结果:
ESP32 S3 实现 USB 摄像头图6

照片中,上方板卡是焊接之后的 Shield


ESP32 S3 实现 USB 摄像头图7

接下来就可以进行代码的编写了。


项目通过 idf.py menuconfig 设定OV2640的引脚,然后去掉PSRAM的支持。

代码中的修改很少,在  .fb_location= CAMERA_FB_IN_DRAM 这里指定摄像头使用 ESP32 内置 RAM 即可。

堆叠之后即可:

ESP32 S3 实现 USB 摄像头图8

zoologist  高级技匠
 楼主|

发表于 2023-11-17 16:51:54



本文提到的电路图:


本文提到的代码:下载附件usb_webcamOV2640.zip


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail