esp32芯片与OV2640连接的电路图(主要部分)
右侧为摄像头的接口槽,摄像头Y1~Y8、PWDN、XCLK、SIO_C、SIO_D等引脚都已与esp32芯片对应的引脚连接,后续编程时会根据引脚对应关系来确认程序中的引脚参数。
使用arduino ide,安装esp32库后,样例程序在file-examples-esp32-camera-camerawebserver,
该程序支持多种esp32的硬件模组,自己对应的是#define CAMERA_MODEL_AI_THINKER(选择正确,后续的引脚初始设置才会引用camera_pins.h中正确的引脚定义数据)。
ov2640初始化关键的是camera_config_t config的初始设置(各引脚的设置),该函数esp_camera_init(&config)正确执行后,esp32与ov2640见就建立I2C通讯,esp32为主机(master)ov2640为从机(slave),可以写ov2640的寄存器来进一步设置摄像头(例如set_vflip(s, 1)垂直翻转等),以及进行获取图像动作(esp_camera_fb_get();)。
初始化函数esp_camera_init(&config)做了什么?可以通过