ESP32 S3 实现 USB 摄像头
ESP32提供了 USB 摄像头的官方例子,但是他们使用带有 PSRAM 的ESP32,经过研究,不支持 PSRAM的ESP32模组可以通过修改代码的方式实现USB摄像头的功能。这次以ESP32-S3-WROOM-1-N4模组(DFR0896)【参考1】为例,实现这个功能。首先使用这个模组制作一个底板【参考2】
接下来设计给摄像头模块使用的连接器,摄像头选择的是微雪电子的 OV2640模块。OV2640是OmniVision公司生产的一颗1/4寸的CMOSUXGA(1632*1232)图像传感器; 支持自动曝光控制、自动增益控制、自动白平衡、自动消除灯光条纹等自动控制功能。UXGA最高15帧/秒,SVGA可达30帧,CIF可达60帧; 支持图像压缩,即可直接输出JPEG图像数据.
设计的 OV2640 Shield电路图如下,除了一个用于连接摄像头之外,还预留了一个 SD 卡座,让 ESP32 S3 板子有读写 SD 数据的能力。
PCB 设计如下:
3D预览结果:
照片中,上方板卡是焊接之后的 Shield
接下来就可以进行代码的编写了。
项目通过 idf.py menuconfig 设定OV2640的引脚,然后去掉PSRAM的支持。
代码中的修改很少,在.fb_location= CAMERA_FB_IN_DRAM 这里指定摄像头使用 ESP32 内置 RAM 即可。
堆叠之后即可:
https://www.bilibili.com/video/BV1Ha4y1D7EQ/
本文提到的电路图:
本文提到的代码:
页:
[1]