Освой Arduino играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

ESP32

ESP32

Домашняя страница для платы ESP32 под Arduino на GitHub - github.com/espressif/arduino-esp32

Свой образец покупал на AliExpress

Аппаратная часть IoT-платформы выполнена на модуле ESP-WROOM-32 с однокристальной системой ESP32-D0WDQ6 производства компании Espressif.

Чип ESP32-D0WDQ6 — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле).

ESP32-WROOM — модуль с чипом ESP32-D0WDQ6, Flash-памятью на 4 МБ и всей необходимой обвязкой, которые спрятаны под металлическим кожухом. Рядом с кожухом расположена миниатюрная антенна из дорожки на верхнем слое печатной платы. Металлический кожух экранирует компоненты модуля и тем самым улучшает электромагнитные свойства.

ESP32

Кристалл включает в себя 2-ядерный 32-разрядный процессор Tensilica Xtensa LX6, 520 Кб памяти SRAM и 448 Кб флеш-памяти, 4 Мб внешней флеш-памяти. Тактовая частота выставляется до 240 МГц в зависимости от режима энергопотребления.

Имеются встроенный температурный датчик, датчик Холла, инфракрасный контроллер на приём и на передачу, контроллер сенсорных кнопок, Bluetooth (BLE v4.2 BR/EDR), Wi-Fi (стандарты связи Wi-Fi 802.11 b/g/n (2,4 ГГц)).

Преобразователь USB-UART на микросхеме CP2102 обеспечивает связь модуля ESP32-WROOM с USB-портом компьютера. При подключении к ПК — платформа ESP32 DevKit определяется как виртуальный COM-порт.

Разъём micro-USB предназначен для прошивки и питания платформы ESP32 DevKit с помощью компьютера.

Контакты

Pinout ESP32

C двух сторон платы расположены контактные гребёнки по 15 пинов с шагом 2,54 мм (модификация на 30 пинов).

Доступны 25 пинов общего назначения. Все контакты поддерживают прерывания. Максимальный ток на пинах: 12 мА/

  • Цифровые 21 контакт ввода-вывода (GPIO): 1–5, 12–19, 21–23, 25–27, 32 и 33. Контакты общего назначения. Пины могут быть настроены на вход или на выход. Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА. Все выводы ввода-вывода могут работать как ШИМ, что позволяет выводить аналоговые значения в виде ШИМ-сигнала с разрядность 16 бит. Максимальное количество каналов 16
  • цифровые 4 контакта ввода (GPI): 34, 35, 36 и 39. Могут быть настроены только на вход.
  • 15 аналоговых входов с АЦП (12 бит): 2, 4, 12–15, 25–27, 32–36 и 39. Позволяет представить аналоговое напряжение в цифровом виде с разрядностью 12 бит
  • 2 аналоговых выхода с ЦАП (8 бит): 25 (DAC1) и 26 (DAC2). Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 8-битные уровни напряжения. Выводы могут использоваться для аудио-выхода.
  • 10 контактов ёмкостного сенсора

На пинах ввода-вывода можно сконфигурировать аппаратные интерфейсы:

  • 3×UART
  • 3×SPI
  • 2×I²C
  • 3× I²S

Для экспериментов используйте выводы 2, 4, 12, 13, 14, 18, 19, 21, 22, 23, 25, 26, 27.

Сводная таблица выводов для использования в проектах

GPIO Input Output Notes
0 pulled up OK outputs PWM signal at boot
1 TX pin OK debug output at boot
2 OK OK connected to on-board LED
3 OK RX pin HIGH at boot
4 OK OK
5 OK OK outputs PWM signal at boot
6 x xconnected to the integrated SPI flash
7 x xconnected to the integrated SPI flash
8 x x connected to the integrated SPI flash
9 x x connected to the integrated SPI flash
10 x x connected to the integrated SPI flash
11 x x connected to the integrated SPI flash
12 OK OK boot fail if pulled high
13 OK OK
14 OK OKoutputs PWM signal at boot
15OKOKoutputs PWM signal at boot
16OKOK
17OKOK
18OKOK
19OKOK
21OKOK
22OKOK
23OKOK
25OKOK
26OKOK
27OKOK
32OKOK
33OKOK
34OKinput only
35OKinput only
36OKinput only
39OKinput only

Пины питания

  • VIN: Пин для подключения внешнего источника напряжения в диапазоне от 5 до 14 вольт (рядом с GND)
  • 3V3: Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 1 А. Регулятор обеспечивает питание модуля ESP32-WROOM (рядом с GND)
  • GND: Выводы земли (два контакта, по одному на каждой стороне)

На отладочном модуле расположены две тактовые кнопки. Кнопка EN предназначена для ручного перезапуска платы - аналог кнопки RESET обычного компьютера.

Кнопка Boot служит для ручного запуска режима прошивки модуля. Алгоритм следующий: Зажмите кнопку BOOT; Нажмите и отпустите кнопку EN; Отпустите кнопку BOOT.

Также на плате находится светодиод питания и индикаторный светодиод, подключённый к цифровому пину 2 (вместо 13 как у стандартных Arduino).

Питание

Линейный понижающий регулятор напряжения AMS1117-3.3 обеспечивает питание микроконтроллера. Выходное напряжение 3,3 вольта с максимальным током 1 А.

Питание подаётся через разъём micro-USB или контакт Vin. Источник определяется автоматически.

При питании через USB используйте зарядник на 5В совместно с кабелем Micro USB. В случае питания через Vin рекомендуется входное напряжение от 5 до 14 В. Преобразователь питания на плате выровняет входное напряжение до необходимых 3,3 В.

Важно! Напряжение логических уровней на пинах — 3,3В, подключение 5-вольтовой периферии может повредить микроконтроллер!

Как и в случае с платами Arduino, платы ESP32 также бывают от разных производителей с разным числом выводов и разной обвязкой. Также появляются модификации и конкретной платы. Например, плата ESP32 DEVKIT DOIT бывает с 30 и 36 пинами.

Установка для Arduino IDE

Базовые примеры

Аналоговые входы

Touch-выводы

PWM (ШИМ)

Встроенные примеры

Сервоприводы

Wi-Fi

Веб-клиент

WiFiServer. Веб-сервер

Используем Dropbox

RGB-модуль

Bluetooth

Bluetooth Low Energy (BLE)

Библиотека Preferences: хранение настроек

RFID-модуль RC522

API

Дополнительные материалы

Модель ESP32 (36 выводов) для Fritzing

Векторное изображение

MicroPython для ESP32

Реклама