ESP32 S3 OV2640 实现USB摄像头

ESP32 官方提供了一个USB 摄像头的例子,但是他们使用带有 PSRAM 的ESP32,经过研究,不支持 PSRAM的模组可以通过修改代码的方式实现相同的功能。本文以ESP32-S3-WROOM-1-N4模组(DFR0896)【参考1】为例,介绍实现方式。

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

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

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

PCB 设计如下:

3D预览结果:

焊接好之后的板子和 ESP32 S3 以及 OV2640 的照片:

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

通过 idf.py menuconfig 设定OV2640 的引脚,然后去掉PSRAM 的支持。.fb_location = CAMERA_FB_IN_DRAM 这里指定摄像头使用 ESP32 内置 RAM 即可。

连接之后即可工作。

工作的测试视频在

https://www.bilibili.com/video/BV1Ha4y1D7EQ/

本文提到的电路图和PCB 在:

源代码在:

参考:

  1. https://www.dfrobot.com.cn/goods-3536.html
  2. https://mc.dfrobot.com.cn/thread-315546-1-1.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注