ESP32-CAM — это отладочная плата с чипом ESP32-S, камерой OV2640, слотом для карт microSD и несколькими GPIO для подключения периферийных устройств. В этом руководстве мы рассмотрим GPIO ESP32-CAM и способы использования контактов платы.
На рисунке ниже показана распиновка ESP32-CAM AI-Thinker.
На следующем рисунке показана принципиальная схема ESP32-CAM.
Вы можете скачать принципиальную схему в PDF-формате внизу статьи, в разделе «файлы для скачивания».
ESP32-CAM имеет три GND пина (окрашены серым цветом) и два контакта питания (окрашены в красный цвет): 3,3 В и 5 В.
Вы можете подключить питание ESP32-CAM к 3,3 В или 5 В. Тем не менее, возникают ошибки в работе, при подключении питания ESP32-CAM к 3.3V, поэтому советую подключать ESP32-CAM к 5V pin питания.
Также на шелкографии есть обозначение VCC (окрашен желтым прямоугольником). Вы не должны использовать этот вывод для питания ESP32-CAM. Это вывод предназначен для подключения внешних потребителей. Он может выводить 5 В или 3,3 В.
В нашем случае ESP32-CAM выдает 3,3 В независимо от того, питается он от 5 В или 3,3 В. Рядом с выводом VCC есть две контактные площадки. Одна обозначена как 3,3 В, а другая — как 5 В.
Если присмотреться, у вас должна быть перемычка на контактных площадках 3,3 В. Если вы хотите, чтобы на выводе VCC было выходное напряжение 5 В, вам необходимо распаять это соединение и запаять контактные площадки 5 В.
GPIO 1 и GPIO 3 — это последовательный интерфейс (контакты TX и RX). Поскольку ESP32-CAM не имеет встроенного программатора, вам необходимо использовать эти контакты для загрузки кода и связи с платой.
Чтобы загрузить код в ESP32-CAM, можно использовать USB-to-UART TTL конвертер на PL2303HX. Как пользоваться USB-to-UART TTL конвертером рассказываю в статье: USB-to-UART PL2303HX. Установка драйверов на Linux, Windows, Mac OS.
Для загрузки кода подключим PL2303HX к ESP32-CAM по схеме.
Вы можете использовать GPIO 1 и GPIO 3 для подключения других периферийных устройств, датчиков, сенсоров и модулей, после загрузки кода. Однако вы не сможете открыть Serial Monitor и посмотреть, все ли в порядке с вашей настройкой.
GPIO 0 определяет, находится ли ESP32 в режиме прошивки или нет. Этот GPIO имеет внутреннее подключение к подтягивающему резистору 10 кОм.
Когда GPIO 0 подключен к GND, ESP32 переходит в режим прошивки, и вы можете загружать код на плату.
После загрузки кода, для того чтобы ESP32 работала «нормально», вам просто нужно отключить GPIO 0 от GND.
Следующие контакты используются для взаимодействия с картой памяти microSD, когда она установлена в соответствующий разъем на плате.
MicroSD card | ESP32 |
CLK | GPIO 14 |
CMD | GPIO 15 |
DATA0 | GPIO 2 |
DATA1 / flashlight | GPIO 4 |
DATA2 | GPIO 12 |
DATA3 | GPIO 13 |
Если вы не используете карту microSD, вы можете использовать эти контакты как обычные входы / выходы. Вы можете посмотреть руководство по распиновке ESP32, чтобы увидеть особенности этих контактов.
Все эти GPIO являются RTC и поддерживают ADC: GPIO 2, 4, 12, 13, 14 и 15.
ESP32-CAM имеет очень яркий встроенный светодиод, который может работать как вспышка при съемке.
Фонарик — этот светодиод внутренне подключен к GPIO 4.
Этот GPIO также подключен к слоту для карты microSD, поэтому у вас могут возникнуть проблемы при попытке использовать оба устройства одновременно — фонарик загорится при использовании карты microSD.
Примечание: один из наших читателей поделился, что у вас не будет этой проблемы, если вы инициализируете карту microSD следующим образом, потому что карта microSD не будет использовать эту линию данных. *
SD_MMC.begin("/sdcard", true)
* после проверки было обнаружено, что это работает, и что светодиод не дает такого эффекта вспышки. Однако светодиод продолжает гореть с низкой яркостью – возможно при проверке был упущен какой-то момент.
Рядом с кнопкой RST есть встроенный красный светодиод. Этот светодиод внутренне подключен к GPIO 33. Вы можете использовать этот светодиод, чтобы указать, что что-то происходит. Например, если Wi-Fi подключен, светодиод горит красным или наоборот.
Этот светодиод работает с перевернутой логикой, поэтому вы отправляете LOW сигнал на включение и HIGH сигнал, чтобы выключить его.
Вы можете поэкспериментировать, загрузив следующий фрагмент кода, и посмотреть, светится ли этот светодиод.
void setup() { pinMode(33, OUTPUT); } void loop() { digitalWrite(33, LOW); delay(500); digitalWrite(33, HIGH); delay(500); }
Соединения между камерой и 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 |
Итак, определение контактов для ESP32-CAM AI-Thinker в среде Arduino IDE должно быть следующим:
#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
Заключение
Надеюсь, что вы нашли это руководство для GPIO ESP32-CAM полезным. Если у вас есть какие-либо советы или дополнительная информация о GPIO ESP32-CAM, напишите комментарий ниже.
Смотрите мои проекты с использованием ESP32-CAM:
Понравилась статья Распиновка ESP32-CAM AI-Thinker. Назначение GPIO? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Файлы для скачивания
![]() |
Принципиальная схема в PDF-формате.pdf | 26 Kb | 2665 | Скачать |
статья ок!
Прошить не удалось! Что делать? Может модуль неисправен или некачественная пайка?
Данные с порта:
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6388
entry 0x400806b4
Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40145f7c: 81004136 ffffffff ffffffff
Core 0 register dump:
PC : 0x40145f82 PS : 0x00060a30 A0 : 0x800860c2 A1 : 0x3ffbbac0
A2 : 0x3ff44574 A3 : 0x000000e1 A4 : 0x0ffd114c A5 : 0x00000000
A6 : 0x00000000 A7 : 0x00000000 A8 : 0x81004136 A9 : 0x3ff44024
A10 : 0xb0000040 A11 : 0x00000001 A12 : 0x00000040 A13 : 0x3ff420c0
A14 : 0x3ffbd3c4 A15 : 0x00000004 SAR : 0x0000000f EXCCAUSE: 0x00000000
EXCVADDR: 0x00000000 LBEG : 0x4008d0aa LEND : 0x4008d0b5 LCOUNT : 0x00000000
ELF file SHA256: 0000000000000000
Backtrace: 0x40145f82:0x3ffbbac0 0x400860bf:0x3ffbbae0 0x400eb381:0x3ffbbb10 0x400d30b0:0x3ffbbb30 0x400d3025:0x3ffbbb50 0x400d39f1:0x3ffbbb70 0x400ea5da:0x3ffbbba0 0x4008fe76:0x3ffbbbc0
Статьи про ESP32, ESP8266
18 февраля , 2021
Комментариев:2
Файлов для скачивания:1
Фото:5
Понравилась статья? Нажми
Виджеты для Easy HMI
Читайте также
Мы в соц сетях
Комментарии