ESP32:Платы/ESP32-CAM: различия между версиями
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 23 промежуточные версии этого же участника) | |||
Строка 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, поскольку | На плате также присутствует контакт 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), чтобы вы могли загружать код.}} | ||
Строка 241: | Строка 244: | ||
Чтобы загрузить код на ESP32-CAM с помощью Arduino IDE, выполните следующие шаги: | Чтобы загрузить код на ESP32-CAM с помощью Arduino IDE, выполните следующие шаги: | ||
* Перейдите в меню '''Tools (Инструменты) > Board (Плата)''' и выберите AI-Thinker ESP32-CAM. Должно быть установлено дополнение ESP32. В противном случае, данная плата не будет отображаться в меню '''Boards'''. | |||
* Перейдите в меню '''Tools (Инструменты) > Port (Порт)''' и выберите COM-порт, к которому подключен ESP32-CAM. | |||
* Для демонстрационных целей вы можете загрузить пустой скетч на вашу плату: | |||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
Строка 254: | Строка 257: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* Затем нажмите кнопку '''"Загрузить"''' [[Файл:Export Arduino Software (IDE) 2.png]] в вашей среде разработки [[Arduino IDE]]. | |||
* Когда вы начнете видеть некоторые точки на окне отладки, нажмите кнопку RST на плате ESP32-CAM. | |||
[[File:dots-uploading-code.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.]] | |||
Через несколько секунд код должен успешно загрузиться на вашу плату | |||
[[File:ESP32-CAM-AI-Thinker-Arduino-IDE-Done-Uploading.png|center]] | |||
* После того, как вы увидите сообщение '''«Загрузка завершена» («Done uploading»)''', отсоедините GPIO 0 от земли и нажмите кнопку RST, чтобы запустить загруженный вами код. | |||
=См.также= | =См.также= | ||
=Внешние ссылки= | =Внешние ссылки= | ||
Строка 263: | Строка 278: | ||
<references /> | <references /> | ||
{{Навигационная таблица/ | {{Навигационная таблица/Портал/ESP32}} | ||
[[Категория:ESP32]] | [[Категория:ESP32]] |
Текущая версия от 22:53, 15 июля 2023
ESP32-CAM[1][2]
![Рис. 1. Плата ESP32-CAM.](/ruwiki/images/1/12/ESP32-CAM1.jpg)
ESP32-CAM - это плата для создания прототипов, которая оснащена чипом ESP32-S, камерой OV2640, слотом для карт памяти microSD и несколькими GPIO-портами для подключения периферийных устройств. В данном руководстве мы изучим возможности GPIO-портов на плате ESP32-CAM и рассмотрим методы их использования для соединения других устройств и разработки проектов на базе данной платформы.
Распиновка
![Рис. 2. Расширенная распиновка платы ESP32-CAM.](/ruwiki/images/d/dd/ESP32-CAM-pinout-mischianti.png)
![Рис. 3. Краткая распиновка платы ESP32-CAM.](/ruwiki/images/7/7e/ESP32-CAM-pinout-new.png)
Схема
![Рис. 4. Схема платы ESP32-CAM.](/ruwiki/images/c/ca/ESP32-CAM-AI-Thinker-schematic-diagram.png)
Входное питание
Плата 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.](/ruwiki/images/6/60/ESP32-CAM-Camera-AI-Think-Module-VCC-Power-Pins.png)
На плате также присутствует контакт 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 |
Встроенный светодиод(GPIO 4)
ESP32-CAM обладает ярким встроенным светодиодом, который может использоваться в качестве вспышки при съемке фотографий. Данный светодиод подключен к линии GPIO 4.
Однако, данная линия также используется для связи с слотом microSD карты, поэтому возможны проблемы при одновременном использовании обоих устройств - светодиод будет загораться при работе с microSD картой.
Встроенный красный светодиод (GPIO 33)
![Рис. 6. Встроенный светодиод на плате ESP32-CAM.](/ruwiki/images/0/07/ESP32-CAM-AI-Thinker-Module-Red-LED-built-in.png)
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.](/ruwiki/images/6/69/How-to-program-upload-code-firmware-ESP32-CAM-board-Arduino-IDE-FTDI.png)
Компактный модуль ESP32-CAM AI-Thinker представляет собой плату разработки на базе ESP32 с камерой OV2640, поддержкой microSD-карты, встроенной вспышкой и несколькими GPIO для подключения периферийных устройств. Однако, следует иметь в виду, что для загрузки программного кода необходимо использовать дополнительное оборудование - программатор FTDI, поскольку модуль не обладает собственным программатором.
![Рис. 8. Подключение программатора FTDI к плате ESP32-CAM.](/ruwiki/images/b/b2/ESP32-CAM-FTDI-programmer-5V-supply.png)
У многих программаторов FTDI есть перемычка, которая позволяет выбирать напряжение 3,3 В или 5 В. Убедитесь, что перемычка находится в правильном положении для выбора напряжения 5 В.
![Рис. 9. Расположение перемычки на программаторе FTDI.](/ruwiki/images/0/0c/FTDI-Programmer-select-jumper-to-5V-cap.png)
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.
![](/ruwiki/images/f/f6/Dots-uploading-code.png)
![Рис. 10. Кнопка RST на плате ESP32-CAM.](/ruwiki/images/4/4e/ESP32-CAM-Press-Click-RESET-RST-button-on-board-restart.png)
Через несколько секунд код должен успешно загрузиться на вашу плату
![](/ruwiki/images/a/a9/ESP32-CAM-AI-Thinker-Arduino-IDE-Done-Uploading.png)
- После того, как вы увидите сообщение «Загрузка завершена» («Done uploading»), отсоедините GPIO 0 от земли и нажмите кнопку RST, чтобы запустить загруженный вами код.
См.также
Внешние ссылки