ESP32-CAM
ESP32-CAM介紹
ESP32-CAM AI-Thinker 引腳指南:GPIO 使用說明
ESP32-CAM 是一個開發板,包含一個 ESP32-S 芯片、一個 OV2640 攝像頭、microSD 卡插槽和幾個用於連接外設的 GPIO。
特徵
以下是 ESP32-CAM 功能列表:
最小的 802.11b/g/n Wi-Fi BT SoC 模塊
低功耗 32 位 CPU,也可服務於應用處理器
時鐘速度高達 160MHz,匯總計算能力高達 600 DMIPS
內置 520 KB SRAM,外置 4MPSRAM
支持UART/SPI/I2C/PWM/ADC/DAC
支持OV2640和OV7670攝像頭,內置閃光燈
支持圖片WiFI上傳
支持TF卡
支持多種睡眠模式
嵌入式 Lwip 和 FreeRTOS
支持STA/AP/STA+AP操作模式
支持 Smart Config/AirKiss 技術
支持串口本地和遠程固件升級(FOTA)
下圖顯示了ESP32-CAM AI-Thinker的引腳圖
電源引腳
ESP32-CAM 帶有三個 地線 引腳(黑色)和兩個 電源 引腳(紅色): 3.3V 和 5V
您可以通過以下方式為 ESP32-CAM 供電 3.3V 或者 5V針腳。但是,很多人在使用 3.3V 為 ESP32-CAM 供電時產生錯誤,因此我們始終建議通過 5V 引腳為 ESP32-CAM 供電。
電源輸出引腳
絲印上還有標記為的別針 電壓互感器(用黃色矩形著色)。您不應使用該引腳為 ESP32-CAM 供電。那是一個輸出電源引腳。它可以輸出5V或3.3V。
在我們的例子中,ESP32-CAM 無論是用 5V 還是 3.3V 供電,都會輸出 3.3V。在 VCC 引腳旁邊,有兩個焊盤。一個標記為 3.3V,另一個標記為 5V。
如果仔細觀察,您應該在 3.3V 焊盤上有一個跳線。如果您想在 VCC 引腳上獲得 5V 輸出,則需要拆焊該連接並焊接 5V 焊盤。
串行引腳
通用輸入輸出口 1 和 通用輸入輸出口 3是串行引腳(分別為 TX 和 RX)。由於 ESP32-CAM 沒有內置編程器,因此您需要使用這些引腳與開發板通信並上傳代碼。
將代碼上傳到 ESP32-CAM 的最佳方式是使用連接器,了解如何將代碼上傳到 ESP32-CAM AI-Thinker。
您可以使用 通用輸入輸出口 1 和 通用輸入輸出口 3上傳代碼後連接其他外圍設備,如輸出或傳感器。但是,您將無法打開串行監視器並查看您的設置是否一切正常。
通用輸入輸出口 0
通用輸入輸出口 0確定 ESP32 是否處於閃爍模式。該 GPIO 在內部連接到一個 10k 歐姆的上拉電阻。
當 GPIO 0 連接到 GND 時,ESP32 進入閃爍模式,您可以將代碼上傳到板上。
通用輸入輸出口 0 連接到 地線 » ESP32-CAM 閃爍模式
要使 ESP32“正常”運行,您只需要斷開 GPIO 0 與 GND 的連接。
MicroSD 卡連接
以下引腳用於在運行時與 microSD 卡連接。
MicroSD 卡 ESP32
時鐘 通用輸入輸出口 14
指令 通用輸入輸出口 15
數據0 通用輸入輸出口 2
DATA1 / 手電筒 通用輸入輸出口 4
數據2 通用輸入輸出口 12
數據3 通用輸入輸出口 13
如果您不使用 microSD 卡,則可以將這些引腳用作常規輸入/輸出。您可以查看ESP32 引腳指南以了解這些引腳的功能。
所有這些 GPIO 都是 RTC 並支持 ADC:GPIO 2、4、12、13、14 和 15。
手電筒(GPIO 4)
ESP32-CAM 有一個非常明亮的內置 LED,可以在拍照時用作閃光燈。該 LED 在內部連接到通用輸入輸出口 4
該 GPIO 也連接到 microSD 卡插槽,因此在嘗試同時使用兩者時可能會遇到麻煩——使用 microSD 卡時手電筒會亮起。
注意:我們的一位讀者分享說,如果您按如下方式初始化 microSD 卡,則不會出現此問題,因為 microSD 卡不會使用該數據線。*
SD_MMC.begin("/sdcard", true)
* 我們發現這是有效的,而且 LED 不會產生那種閃光效果。然而,LED 仍然以低亮度點亮——我們不確定是否遺漏了什麼。
GPIO 33 – 內置紅色 LED
RST 按鈕旁邊有一個板載紅色 LED。該 LED 在內部連接到通用輸入輸出口 33. 您可以使用此 LED 來指示正在發生的事情。例如,如果連接了 Wi-Fi,則 LED 為紅色,反之亦然。
該 LED 以反向邏輯工作,因此您發送 低的 打開它的信號和一個 高的 關閉它的信號。
您可以嘗試上傳以下代碼段,看看 LED 是否發光。
void setup() {
pinMode(33, OUTPUT);
}
void loop() {
digitalWrite(33, LOW);
}
相機連接
相機與 ESP32-CAM AI-Thinker 的連接如下表所示。
OV2640 CAMERA ESP32 Variable name in code
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
XCLK GPIO 0 XCLK_GPIO_NUM
PCLK GPIO 22 PCLK_GPIO_NUM
VSYNC GPIO 25 VSYNC_GPIO_NUM
HREF GPIO 23 HREF_GPIO_NUM
SDA GPIO 26 SIOD_GPIO_NUM
SCL GPIO 27 SIOC_GPIO_NUM
POWER PIN GPIO 32 PWDN_GPIO_NUM
因此,Arduino IDE 上 ESP32-CAM AI-Thinker 的引腳定義應如下所示:
#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