• /
  • /

Программирование ESP32 в среде Aurdino IDE: особенности использования

Программирование с использованием микроконтроллера ESP32 в среде Arduino не теряет своей актуальности и сегодня. Многие начинающие программисты создают свои первые проекты именно в такой коллаборации. Причин несколько: плата ESP32 высокопроизводительна и имеет множество гибких опций управления и настройки, а среда Arduino IDE предоставляет нам возможность простоты проектирования и удобный доступ к множеству библиотек. В данной статье приведены основы метода создания программных проектов на ESP32 в среде Arduino IDE и разбор ключевых характеристик данной коллаборации.

Почему программирование на ESP32 так актуально

Предшественником ESP32 была плата ESP8266. У неё были весьма скромные возможности – один аналого-цифровой преобразователь (АЦП), у которого совсем скромное разрешение, небольшое количество пинов GPIO. ESP32-плата аппаратных возможностей имеет гораздо больше, как и простора для фантазий: два двухъядерных процессора, расширенное количество GPIO, к которым можно подключить внешние и периферийные устройства, развести различные датчики, а также практически в свободном порядке тасовать пины для переноса шин SPI, I2C и ряда других при необходимости.

ESP32 стал отличной заменой ESP8266, поддерживает WiFi и подключение по Bluetooth, что важно для Интернета вещей и созданных для него IoT-программ и проектов. Рассмотрим подробные аппаратные характеристики ESP32 и далее разберём, что нужно для начала программирования на данной плате в среде Arduino IDE.
Обзор аппаратных характеристик микроконтроллера ESP32
Подробно о характеристиках плат семейства ESP32 от «Espressif Systems» можно почитать в официальной технической спецификации. В данном разделе разберём характеристики, которые и делают программирование с использованием данного микроконтроллера таким популярным и не теряющим своей актуальности.

По физическому размеру плата чуть больше, чем её предшественник-микроконтроллер ESP8266. Однако по удобству расположению контактов ESP32 выглядит более оптимизированной. Основной элементной структурой управления, обработки и передачи сигналов выступает микропроцессор с разрешением 32 бит. Главные элементы платы и их функции размещены в таблице:
Физико-технические характеристики платы ESP32:

  • 2 ядра процессора;
  • разрешение – 32 бит;
  • поддержка WiFi и Bluetooth;
  • оперативная память RAM (ОЗУ) – 512 Кб;
  • flash-память – 16 Мб;
  • число пинов – от 30 до 38 (зависит от версии микроконтроллера);
  • различные протоколы и шины для коммуникации – SPI, IIC, I2S, UART, CAN;
  • 2-канальный цифро-аналоговый преобразователь ЦАП с разрешением 8 бит;
  • АЦП с разрешением 12 бит – 18 каналов.

Теперь мы знаем все характеристики микроконтроллера. Далее обсудим, что необходимо собрать в комплект для начала создания кода программы. .

Что нужно: собираем комплект для программирования!

На самом деле, тут всё просто и список физических инструментов совсем небольшой. Перед началом программирования следует убедиться, что у вас в наличии есть все компоненты:

  • плата ESP32 (можно заказать на любом из маркетплейсов) – микроконтроллер, способный работать в режиме многозадачности и осуществлять обработку сложных задач;
  • Arduino IDE – программное обеспечение для интеграции с микроконтроллером и последующего создания проекта;
  • кабель microUSB – для подключения платы к ПК, обмена данными и перепрошивки, а также для зарядки самого микроконтроллера.
Далее начинается программная подготовка к программированию. Если ещё не скачана Arduino IDE на компьютер, то обязательно скачайте. Затем нужно интегрировать между собой микроконтроллер и среду для создания проекта. Необходимо предварительно скачать архив с самой последней версией ESP32, чтобы появилась поддержка платы. В Arduino IDE производится установка скачанного пакета – поддержки ESP32. Далее внедряется URL для менеджера плат, установка ESP32 и её подключение к компьютеру.

Как удалить предыдущие версии загруженных плат ESP32 из Arduino IDE

Весьма важный шаг, если не хочется встретиться лицом к лицу с ошибками или несовместимостью ПО. Предыдущие выпущенные версии пакетов ESP32 могут содержать ряд ошибок, провоцировать конфликты с новым программным обеспечением. Если вы ещё не имели дела с ассоциацией ESP32 в Arduino IDE, этот шаг можно смело пропустить. Однако при предварительной загрузке старых версий (даже если это было очень давно), от них нужно избавиться. Обычно если в прошлый подход информация уже была загружена (к примеру, через инструмент GIT), то в системе отражается каталог производителя – Espressiff. В Windows его путь расположения выглядит как Documents/Arduino/hardware. Смело удаляйте его, чтобы творческий процесс не был омрачён багами и нарушением компиляции.

Пошаговая подготовка Arduino IDE к процессу программирования

Использовать среду Arduino IDE для запуска процесса программирования микроконтроллеров ESP32 в среде Arduino IDE можно после обязательной установки соответствующего программного обеспечения. Инструкция:

  1. шаг 1: загрузите дистрибутив Arduino IDE с официального сайта по ссылке https://www.arduino.cc/en/Main/Software и выполните установку программы. Убедитесь, что используется последняя доступная версия Arduino IDE;
  2. шаг 2: запустите среду разработки Arduino IDE. В главном меню перейдите по пути Files → Preferences. В появившемся диалоге заполните поле «Additional Boards Manager URLs»;
  3. шаг 3: откройте раздел Файл → Настройки и вставьте ссылку https://dl.espressif.com/dl/package_esp32_index.json в поле «Дополнительные адреса менеджеров плат». Если в поле уже есть другой адрес, то дополните его данной строкой, просто разделив их между собой запятой (,). После этого нужно подтвердить операцию нажатием «ОК»;
  4. шаг 4: в меню перейдите по пути Инструменты → Платформа → Менеджер плат, найдите строку ESP32 by Espressif Systems и установите последнюю доступную версию ПО микроконтроллера. Если всё было сделано верно, то в выпадающем списке вы увидите выбранную ранее версию и кнопку «Install»;
  5. шаг 5: завершение установки. Убедитесь в наличии активного Интернет-соединения и дождитесь полного завершения процесса установки, который занимает несколько минут (в зависимости от текущей скорости Интернета).

После завершения установки среда готова к работе с используемым контроллером ESP32. Подробнее о программировании с использованием альтернативной платформы – VSC + PlatformIO – читайте в отдельной публикации нашего блога.

Творим и проектируем:
процесс программирования на плате ESP32 в среде Arduino IDE

  1. пункт 1: подключение модуля. Соедините ESP32 с компьютером через micro-USB кабель. Проверьте, загорелся ли красный светодиод на модуле — это подтверждает, что питание подано корректно;
  2. пункт 2: настройка среды разработки. Запустите Arduino IDE. В меню перейдите в раздел Tools → Boards и выберите плату ESP32Dev;
  3. пункт 3: определение порта. Откройте Диспетчер устройств Windows и найдите COM-порт, к которому подключён ваш модуль ESP32;
  4. пункт 4: выбор порта в IDE. Вернитесь в Arduino IDE и в меню Tools → Port выберите обнаруженный COM-порт. В правом нижнем углу программы появится информация о выбранном порте;
  5. пункт 5: тестовая программа. Для проверки работоспособности загрузите в модуль базовую программу мигания светодиода, её часто можно встретить в Интернете под названием «Blink Program». При успешной загрузке встроенный светодиод начнёт мигать с интервалом в 1 секунду. Ниже смотрите полный программный код – публикуем его для ознакомления наших читателей! :);
  6. пункт 6: процесс загрузки. Для передачи кода в модуль ESP32 нажмите кнопку «Upload» в Arduino IDE. В консоли программы будет отображаться процесс загрузки, что подтверждает корректную работу системы.

Важно! Некоторые платы ESP32 требуют постоянного удержания кнопки BOOT BUTTON, чтобы минимизировать количество ошибок во время загрузки программы.

Полезный лайфхак:
полный исходный код программы (скетча)

Публикуем для вашего удобства исходный код элементарной программы (код мигания светодиодом), созданный с помощью CC+. Чтобы создать простенькую программу мигающего светодиода (через этот урок должен пройти каждый начинающий знакомство с ESP32 в Arduino IDE, который мы и разобрали в нашей статье).

Кратко весь вышеописанный процесс написания программы можно описать так. Для начала нужно определить, к какому пину GPIO подключен светодиод. Обычно это GPIO 2. Отражаем это в коде, назначаем пин как выход. Затем нужно этот светодиод включить, после чего дать интервал включения в 1 секунду и выключить. Код программы пошагово отражён в таблице:
Примеры кодов подобных программ можно найти в различных digital-библиотеках или на просторах Интернета.

Рубрика «Вопрос-Ответ»

Программирование с помощью микроконтроллера ESP32 – гибкий, доступный для понимания процесс, если разобраться в особенностях распиновки и написания кода через Arduino IDE. В модуль можно легко загрузить коды других аналогичных программ для примера. Путь доступа к этим программам находится в Arduino IDE в папке File/Example/ESP32. Остались вопросы или есть дельный совет? Спрашивайте в комментариях к этой статье! Наши программисты разберут с вами потенциальные ошибки и постараются ответить в данной ветке комментариев. Ответ будет опубликован вместе с вашим заданным вопросом.

Подарите ребёнку профессию будущего!

Обучение перспективной IT-профессии — легко и увлекательно! Онлайн-курсы программирования для детей и подростков.
Кому подойдут наши курсы?
Начинающим программистам
Технически ориентированным детям
Творческим детям, стремящимся понимать и создавать технологии
Онлайн-формат
Учитесь с нашими преподавателемя онлайн в удобное время и в комфортной обстановке
Хотите научиться программировать, создавать приложения или игры?
Знакомство с базовыми концепциями, переменные, типы данных, циклы, и – так далее
Решение программных задач и участие в проектах для закрепления знаний на практике
Наши курсы дадут вам необходимые знания
Подготовка к карьере в сфере высоких технологий, инженерии или науки
Развитие навыков пространственного мышления, логики и решения задач
Посмотрите, какие проекты делают ученики — ваш ребёнок сможет так же
Создали уютный красивый дом
Создали программу-калькулятор
Roblox
Roblox
Python
Создали 3D-персонажа из известного фильма
Blender
Создали 3D-игру «Выживание в лесу»
Unity