ESP32:Платы/ESP32-CAM: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
(не показано 17 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{ESP32 панель перехода}}
{{ESP32 панель перехода}}
{{Myagkij-перевод}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=ESP32-CAM<ref>[https://randomnerdtutorials.com/esp32-cam-ai-thinker-pinout/ ESP32-CAM AI-Thinker Pinout Guide: GPIOs Usage Explained]</ref><ref>[https://ariaatr.com/esp32-cam-joy-it/ Esp32 Cam Joy It]</ref>=
=ESP32-CAM<ref>[https://randomnerdtutorials.com/esp32-cam-ai-thinker-pinout/ ESP32-CAM AI-Thinker Pinout Guide: GPIOs Usage Explained]</ref><ref>[https://ariaatr.com/esp32-cam-joy-it/ Esp32 Cam Joy It]</ref>=
[[File:ESP32-CAM1.jpg|center|frame|'''Рис. 1.''' Плата ESP32-CAM.|alt=Рис. 1. Плата ESP32-CAM.]]


ESP32-CAM - это плата для создания прототипов, которая оснащена чипом ESP32-S, камерой [[OV2640]], слотом для карт памяти [[microSD]] и несколькими GPIO-портами для подключения периферийных устройств. В данном руководстве мы изучим возможности GPIO-портов на плате ESP32-CAM и рассмотрим методы их использования для соединения других устройств и разработки проектов на базе данной платформы.
ESP32-CAM - это плата для создания прототипов, которая оснащена чипом ESP32-S, камерой [[OV2640]], слотом для карт памяти [[microSD]] и несколькими GPIO-портами для подключения периферийных устройств. В данном руководстве мы изучим возможности GPIO-портов на плате ESP32-CAM и рассмотрим методы их использования для соединения других устройств и разработки проектов на базе данной платформы.
Строка 8: Строка 11:
==Распиновка==
==Распиновка==


[[File:ESP32-CAM-pinout-mischianti.png|center]]
[[File:ESP32-CAM-pinout-mischianti.png|center|frame|'''Рис. 2.''' Расширенная распиновка платы ESP32-CAM.|alt=Рис. 2. Расширенная распиновка платы ESP32-CAM.]]


[[File:ESP32-CAM-pinout-new.png|center]]
[[File:ESP32-CAM-pinout-new.png|center|frame|'''Рис. 3.''' Краткая распиновка платы ESP32-CAM.|alt=Рис. 3. Краткая распиновка платы ESP32-CAM.]]


==Схема==
==Схема==


[[File:ESP32-CAM-AI-Thinker-schematic-diagram.png|center]]
[[File:ESP32-CAM-AI-Thinker-schematic-diagram.png|center|frame|'''Рис. 4.''' Схема платы ESP32-CAM.|alt=Рис. 4. Схема платы ESP32-CAM.]]


==Входное питание==
==Входное питание==
Строка 24: Строка 27:
==Выходное питание==
==Выходное питание==


[[File:ESP32-CAM-Camera-AI-Think-Module-VCC-Power-Pins.png|center]]
[[File:ESP32-CAM-Camera-AI-Think-Module-VCC-Power-Pins.png|center|frame|'''Рис. 5.''' Контакт V<small>cc</small> на плате ESP32-CAM.|alt=Рис. 5. Контакт V<small>cc</small> на плате ESP32-CAM.]]


На плате также присутствует контакт V<small>cc</small>. Этот контакт не следует использовать для питания ESP32-CAM, поскольку он является выходным контактом для питания и может выдавать напряжение 5 В или 3,3 В.
На плате также присутствует контакт V<small>cc</small>. Этот контакт не следует использовать для питания ESP32-CAM, поскольку это контактом для выходного питания и он может выдавать напряжение 5 В или 3,3 В.


В нашем случае ESP32-CAM выдает напряжение 3,3 В, независимо от того, подается ли питание на него от 5 В или 3,3 В. Рядом с контактом V<sub>cc</sub> есть две точки: одна помечена как 3,3 В, а другая - как 5 В.
В нашем случае ESP32-CAM выдает напряжение 3,3 В, независимо от того, подается ли питание на него от 5 В или 3,3 В. Рядом с контактом V<sub>cc</sub> есть две точки: одна помечена как 3,3 В, а другая - как 5 В.
Строка 95: Строка 98:
== Встроенный красный светодиод (GPIO 33)==
== Встроенный красный светодиод (GPIO 33)==


[[File:ESP32-CAM-AI-Thinker-Module-Red-LED-built-in.png|center]]
[[File:ESP32-CAM-AI-Thinker-Module-Red-LED-built-in.png|center|frame|'''Рис. 6.''' Встроенный светодиод на плате ESP32-CAM.|alt=Рис. 6. Встроенный светодиод на плате ESP32-CAM.]]


GPIO 33 - это пин на плате, который внутренне соединен с красным светодиодом. Этот светодиод расположен рядом с кнопкой RST и может использоваться для индикации различных событий на плате. Например, он может гореть красным при подключении к сети Wi-Fi или при выполнении других действий.
GPIO 33 - это пин на плате, который внутренне соединен с красным светодиодом. Этот светодиод расположен рядом с кнопкой RST и может использоваться для индикации различных событий на плате. Например, он может гореть красным при подключении к сети Wi-Fi или при выполнении других действий.
Строка 211: Строка 214:
Плата для разработки ESP32-CAM AI-Thinker может быть запрограммирована при помощи популярной среды разработки Arduino IDE. В данном разделе мы покажем, как загрузить и запустить код на этой плате, используя Arduino IDE.
Плата для разработки ESP32-CAM AI-Thinker может быть запрограммирована при помощи популярной среды разработки Arduino IDE. В данном разделе мы покажем, как загрузить и запустить код на этой плате, используя Arduino IDE.


[[File:how-to-program-upload-code-firmware-ESP32-CAM-board-Arduino-IDE-FTDI.png|center]]
[[File:how-to-program-upload-code-firmware-ESP32-CAM-board-Arduino-IDE-FTDI.png|center|frame|'''Рис. 7.''' Плата ESP32-CAM и программатор FTDI.|alt=Рис. 7. Плата ESP32-CAM и программатор FTDI.]]


Компактный модуль ESP32-CAM AI-Thinker представляет собой плату разработки на базе ESP32 с камерой OV2640, поддержкой microSD-карты, встроенной вспышкой и несколькими GPIO для подключения периферийных устройств. Однако, следует иметь в виду, что для загрузки программного кода необходимо использовать дополнительное оборудование - программатор FTDI, поскольку модуль не обладает собственным программатором.
Компактный модуль ESP32-CAM AI-Thinker представляет собой плату разработки на базе ESP32 с камерой OV2640, поддержкой microSD-карты, встроенной вспышкой и несколькими GPIO для подключения периферийных устройств. Однако, следует иметь в виду, что для загрузки программного кода необходимо использовать дополнительное оборудование - программатор FTDI, поскольку модуль не обладает собственным программатором.


[[File:ESP32-CAM-FTDI-programmer-5V-supply.png|center]]
[[File:ESP32-CAM-FTDI-programmer-5V-supply.png|center|frame|'''Рис. 8.''' Подключение программатора FTDI к плате ESP32-CAM.|alt=Рис. 8. Подключение программатора FTDI к плате ESP32-CAM.]]


{{Примечание1|Порядок контактов FTDI на диаграмме может не соответствовать вашему. Обязательно проверьте подписи напротив каждого контакта на плате.}}
{{Примечание1|Порядок контактов FTDI на диаграмме может не соответствовать вашему. Обязательно проверьте подписи напротив каждого контакта на плате.}}
Строка 221: Строка 224:
У многих программаторов FTDI есть перемычка, которая позволяет выбирать напряжение 3,3 В или 5 В. Убедитесь, что перемычка находится в правильном положении для выбора напряжения 5 В.
У многих программаторов FTDI есть перемычка, которая позволяет выбирать напряжение 3,3 В или 5 В. Убедитесь, что перемычка находится в правильном положении для выбора напряжения 5 В.


[[File:FTDI-Programmer-select-jumper-to-5V-cap.png|center]]
[[File:FTDI-Programmer-select-jumper-to-5V-cap.png|center|frame|'''Рис. 9.''' Расположение перемычки на программаторе FTDI.|alt=Рис. 9. Расположение перемычки на программаторе FTDI.]]


{{Внимание1|GPIO 0 должен быть подключен к земле (GND), чтобы вы могли загружать код.}}
{{Внимание1|GPIO 0 должен быть подключен к земле (GND), чтобы вы могли загружать код.}}
Строка 261: Строка 264:




[[File:ESP32-CAM-Press-Click-RESET-RST-button-on-board-restart.png|center]]
[[File:ESP32-CAM-Press-Click-RESET-RST-button-on-board-restart.png|center|frame|'''Рис. 10.''' Кнопка RST на плате ESP32-CAM.|alt=Рис. 10. Кнопка RST на плате ESP32-CAM.]]


Через несколько секунд код должен успешно загрузиться на вашу плату
Через несколько секунд код должен успешно загрузиться на вашу плату


* После того, как вы увидите сообщение «Done uploading», отсоедините GPIO 0 от земли и нажмите кнопку RST, чтобы запустить загруженный вами код.
[[File:ESP32-CAM-AI-Thinker-Arduino-IDE-Done-Uploading.png|center]]
 
* После того, как вы увидите сообщение '''«Загрузка завершена» («Done uploading»)''', отсоедините GPIO 0 от земли и нажмите кнопку RST, чтобы запустить загруженный вами код.


=См.также=
=См.также=
{{ads}}


=Внешние ссылки=
=Внешние ссылки=
Строка 275: Строка 278:
<references />
<references />


{{Навигационная таблица/Телепорт}}
{{Навигационная таблица/Портал/ESP32}}


[[Категория:ESP32]]
[[Категория:ESP32]]

Текущая версия от 22:53, 15 июля 2023

Перевод: Мякишев Е.А.
Проверка/Оформление/Редактирование: Мякишев Е.А.


ESP32-CAM[1][2]

Рис. 1. Плата ESP32-CAM.
Рис. 1. Плата ESP32-CAM.

ESP32-CAM - это плата для создания прототипов, которая оснащена чипом ESP32-S, камерой OV2640, слотом для карт памяти microSD и несколькими GPIO-портами для подключения периферийных устройств. В данном руководстве мы изучим возможности GPIO-портов на плате ESP32-CAM и рассмотрим методы их использования для соединения других устройств и разработки проектов на базе данной платформы.

Распиновка

Рис. 2. Расширенная распиновка платы ESP32-CAM.
Рис. 2. Расширенная распиновка платы ESP32-CAM.
Рис. 3. Краткая распиновка платы ESP32-CAM.
Рис. 3. Краткая распиновка платы ESP32-CAM.

Схема

Рис. 4. Схема платы ESP32-CAM.
Рис. 4. Схема платы ESP32-CAM.

Входное питание

Плата ESP32-CAM обладает тремя контактами земли (черный цвет) и двумя контактами питания (красный цвет): 3.3В и 5В.

Вы можете подавать питание на ESP32-CAM через контакты 3.3В или 5В. Однако, многие пользователи сообщают о возникающих ошибках при питании ESP32-CAM от 3.3В. Это связано с тем, что минимальное допустимое напряжение для ESP32-CAM составляет 3.6В, а контакт 3.3В не всегда обеспечивает стабильность напряжения, что может привести к ошибкам работы устройства. Поэтому, мы рекомендуем использовать контакт 5В для питания ESP32-CAM, чтобы гарантировать его надлежащую работу и стабильность работы устройства.

Выходное питание

Рис. 5. Контакт Vcc на плате ESP32-CAM.
Рис. 5. Контакт Vcc на плате ESP32-CAM.

На плате также присутствует контакт 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 - использование программатора FTDI. После загрузки кода на плату можно использовать GPIO 1 и GPIO 3 для подключения других периферийных устройств, таких как выходные устройства или датчики. Однако при этом не будет возможности открыть монитор порта и следить за процессом работы системы в режиме реального времени.

GPIO 0

GPIO 0 определяет, находится ли ESP32 в режиме прошивки или нет. Этот порт GPIO внутренне подключен к резистору 10 кОм с подтяжкой к питанию.

Когда GPIO 0 подключен к земле (GND), ESP32 переходит в режим прошивки, и вы можете загружать код на плату.

Чтобы вернуть ESP32 в нормальный режим работы, достаточно просто отключить GPIO 0 от земли.

Подключение карты MicroSD

Следующие контакты используются для взаимодействия с microSD-картой во время ее работы.

MicroSD GPIO на плате ESP32
CLK GPIO 14
CMD GPIO 15
DATA0 GPIO 2
DATA1 / flashlight GPIO 4
DATA2 GPIO 12
DATA3 GPIO 13
Примечание

Если вы не используете microSD-карту, вы можете использовать эти контакты как обычные входы/выходы. Все эти GPIO являются RTC и поддерживают АЦП: GPIO 2, 4, 12, 13, 14 и 15.

Встроенный светодиод(GPIO 4)

ESP32-CAM обладает ярким встроенным светодиодом, который может использоваться в качестве вспышки при съемке фотографий. Данный светодиод подключен к линии GPIO 4.

Однако, данная линия также используется для связи с слотом microSD карты, поэтому возможны проблемы при одновременном использовании обоих устройств - светодиод будет загораться при работе с microSD картой.

Примечание

Если инициализировать microSD карту следующим образом:

SD_MMC.begin("/sdcard", true)

,то данной проблемы можно избежать, поскольку microSD карта не будет использовать данную линию данных.

Встроенный красный светодиод (GPIO 33)

Рис. 6. Встроенный светодиод на плате ESP32-CAM.
Рис. 6. Встроенный светодиод на плате ESP32-CAM.

GPIO 33 - это пин на плате, который внутренне соединен с красным светодиодом. Этот светодиод расположен рядом с кнопкой RST и может использоваться для индикации различных событий на плате. Например, он может гореть красным при подключении к сети Wi-Fi или при выполнении других действий.

Однако следует отметить, что светодиод работает по инвертированной логике. Для того, чтобы включить светодиод, необходимо отправить сигнал с низким уровнем напряжения (LOW), а для выключения - с высоким уровнем напряжения (HIGH).

Вы можете экспериментировать, загрузив следующий фрагмент кода, и посмотреть, загорится ли светодиод.

void setup() 
{
    pinMode(33, OUTPUT);
}

void loop() 
{
    digitalWrite(33, LOW);
}

Подключение камеры

Соединения между камерой и ESP32-CAM AI-Thinker показаны в следующей таблице.

OV2640 GPIO на плате 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
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

Загрузка кода[3]

Плата для разработки ESP32-CAM AI-Thinker может быть запрограммирована при помощи популярной среды разработки Arduino IDE. В данном разделе мы покажем, как загрузить и запустить код на этой плате, используя Arduino IDE.

Рис. 7. Плата ESP32-CAM и программатор FTDI.
Рис. 7. Плата ESP32-CAM и программатор FTDI.

Компактный модуль ESP32-CAM AI-Thinker представляет собой плату разработки на базе ESP32 с камерой OV2640, поддержкой microSD-карты, встроенной вспышкой и несколькими GPIO для подключения периферийных устройств. Однако, следует иметь в виду, что для загрузки программного кода необходимо использовать дополнительное оборудование - программатор FTDI, поскольку модуль не обладает собственным программатором.

Рис. 8. Подключение программатора FTDI к плате ESP32-CAM.
Рис. 8. Подключение программатора FTDI к плате ESP32-CAM.
Примечание

Порядок контактов FTDI на диаграмме может не соответствовать вашему. Обязательно проверьте подписи напротив каждого контакта на плате.

У многих программаторов FTDI есть перемычка, которая позволяет выбирать напряжение 3,3 В или 5 В. Убедитесь, что перемычка находится в правильном положении для выбора напряжения 5 В.

Рис. 9. Расположение перемычки на программаторе FTDI.
Рис. 9. Расположение перемычки на программаторе FTDI.
Внимание!

GPIO 0 должен быть подключен к земле (GND), чтобы вы могли загружать код.

ESP32-CAM FTDI программатор
GND GND
5V VCC (5V)
U0R TX
U0T RX
GPIO 0 GND

Чтобы загрузить код на ESP32-CAM с помощью Arduino IDE, выполните следующие шаги:

  • Перейдите в меню Tools (Инструменты) > Board (Плата) и выберите AI-Thinker ESP32-CAM. Должно быть установлено дополнение ESP32. В противном случае, данная плата не будет отображаться в меню Boards.
  • Перейдите в меню Tools (Инструменты) > Port (Порт) и выберите COM-порт, к которому подключен ESP32-CAM.
  • Для демонстрационных целей вы можете загрузить пустой скетч на вашу плату:
void setup() {
  // вставьте сюда свой setup-код – чтобы запустить один раз: 
}

void loop() {
  // вставьте сюда свой главный код – для запуска цикла: 
}
  • Затем нажмите кнопку "Загрузить" в вашей среде разработки Arduino IDE.
  • Когда вы начнете видеть некоторые точки на окне отладки, нажмите кнопку RST на плате ESP32-CAM.


Рис. 10. Кнопка RST на плате ESP32-CAM.
Рис. 10. Кнопка RST на плате ESP32-CAM.

Через несколько секунд код должен успешно загрузиться на вашу плату

  • После того, как вы увидите сообщение «Загрузка завершена» («Done uploading»), отсоедините GPIO 0 от земли и нажмите кнопку RST, чтобы запустить загруженный вами код.

См.также

Внешние ссылки