ESP32-CAM 是一款开发板,带有一个 ESP32-S 芯片、一个 OV2640 摄像头、microSD 卡插槽和几个用于连接外设的 GPIO。在本指南中,我们将介绍 ESP32-CAM GPIO 以及如何使用它们。
引脚排列图
下图显示了 ESP32-CAM AI-Thinker 的引脚排列图。
电路原理示意图
下图显示了 ESP32-CAM 的原理图。
电源引脚
ESP32-CAM 配备三个GND针脚(黑色)和两个电源针脚(红色):3.3V和5V.
您可以通过3.3V或5V引 脚。但是,许多人在为 ESP32-CAM 提供 3.3V 电源时报告了错误,因此我们始终建议通过 5V 引脚为 ESP32-CAM 供电。
电源输出引脚
丝网印刷上的别针也标记为VCC(用黄色矩形着色)。您不应使用该引脚为 ESP32-CAM 供电。这是一个输出电源引脚。它可以输出 5V 或 3.3V。
在我们的例子中,ESP32-CAM 输出 3.3V,无论是采用 5V 还是 3.3V 供电。在VCC引脚旁边,有两个焊盘。一个标记为3.3V,另一个标记为5V。
如果仔细观察,您应该在3.3V焊盘上有一个跳线。如果要在VCC引脚上具有5V的输出,则需要解除该连接并焊接5V焊盘。
串行引脚
GPIO 1和GPIO 3是串行引脚(分别为 TX 和 RX)。由于 ESP32-CAM 没有内置编程器,因此您需要使用这些引脚与开发板通信并上传代码。
将代码上传到 ESP32-CAM 的最佳方式是使用 FTDI 编程器
可以使用GPIO 1和GPIO 3在上传代码后连接其他外围设备,如输出或传感器。但是,您将无法打开串行监视器并查看您的设置是否一切顺利。
GPIO 0
GPIO 0确定 ESP32 是否处于闪烁模式。该 GPIO 在内部连接到一个上拉 10k 欧姆电阻器。
当 GPIO 0 连接到 GND 时,ESP32 将进入闪烁模式,您可以将代码上传到开发板。
- GPIO 0连接到GND闪烁模式下的 ESP32-CAM
要使 ESP32"正常"运行,您只需断开 GPIO 0 与 GND 的连接即可。
MicroSD 卡连接
以下引脚用于在 microSD 卡运行时与其接口。
微SD卡 | ESP32 处理器 |
佛罗里达州。 | GPIO 14 |
断续器 | GPIO 15 |
数据0 | GPIO 2 |
数据1 /手电筒 | GPIO 4 |
数据2 | GPIO 12 |
数据3 | GPIO 13 |
如果您没有使用microSD卡,则可以将这些引脚用作常规输入/输出。您可以查看 了解这些引脚的特性。
所有这些 GPIO 都是 RTC 并支持 ADC:GPIO 2、4、12、13、14 和 15
LED(GPIO 4)
ESP32-CAM 具有非常明亮的内置 LED,可在拍照
时用作闪光灯。该 LED 在内部连接到GPIO 4.
该GPIO还连接到microSD卡插槽,因此在尝试同时使用两者时可能会遇到麻烦 - 使用microSD卡时手电筒会亮起。
注意:我们的一位读卡器分享说,如果您按如下方式初始化microSD卡,则不会遇到此问题,因为microSD卡不会使用该数据行。
SD_MMC.begin("/sdcard", true)
*我们发现这有效,并且LED不会产生闪光效果。但是,LED仍然以低亮度亮起 - 我们不确定是否遗漏了某些内容。
GPIO 33 – 内置红色指示灯
在 RST 按钮旁边,有一个板载红色 LED。该 LED 在内部连接到GPIO 33.您可以使用此 LED 指示正在发生某些事情。例如,如果连接了 Wi-Fi,则 LED 为红色,反之亦然。
该 LED 与倒置逻辑配合使用,因此您发送了一个低信号将其打开,然后高信号将其关闭。
您可以尝试上传以下代码段,看看该 LED 是否亮起。
void setup() {
pinMode(33, OUTPUT);
}
void loop() {
digitalWrite(33, LOW);
}
相机连接
相机与 ESP32-CAM AI-Thinker 之间的连接如下表所示。
OV2640 摄像头 | ESP32 处理器 | 代码中的变量名称 |
D0 | GPIO 5 | Y2_GPIO_NUM |
D1 | GPIO 18 | Y3_GPIO_NUM |
D2 | GPIO 19 | Y4_GPIO_NUM |
D3 | GPIO 21 | Y5_GPIO_NUM |
D4 | GPIO 36 | Y6_GPIO_NUM |
D5型 | GPIO 39 | Y7_GPIO_NUM |
D6航站楼 | GPIO 34 | Y8_GPIO_NUM |
D7 | GPIO 35 | Y9_GPIO_NUM |
断续器 | GPIO 0 | XCLK_GPIO_NUM |
断续器 | GPIO 22 | PCLK_GPIO_NUM |
虚拟同步 | GPIO 25 | VSYNC_GPIO_NUM |
HREF | GPIO 23 | HREF_GPIO_NUM |
断续器 | GPIO 26 | SIOD_GPIO_NUM |
断续器 | GPIO 27 | SIOC_GPIO_NUM |
电源引脚 | GPIO 32 | PWDN_GPIO_NUM |
#define PWDN_GPIO_NUM 32
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 0
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 21
#define Y4_GPIO_NUM 19
#define Y3_GPIO_NUM 18
#define Y2_GPIO_NUM 5
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22
我们希望 ESP32-CAM GPIO 指南对您有所帮助。