ESP32

Початок роботи з ESP32

Микита

Микита

Головний редактор

Опубліковано: 5 хв читання

Стаття призначена для тих, хто тільки починає знайомство з платою розробки ESP32. Якщо ви знайомі з ESP8266, ESP32 це його вдосконалена версія. Плата поєднує бездротові можливості Wi-Fi та Bluetooth та двоядерний процесор.

Початок роботи з ESP32

ESP32 DEVKIT V1

У статті розглядається ESP32 DEVKIT V1. Але всі приклади сумісні з іншими платами розробки ESP32 на чіпі ESP-WROOM-32.

Приклади плат ESP32:

Яку ESP32 вибрати

Характеристики
Кількість ядер2 (Dual Core)
Тактова частотадо 240 МГц
Архітектура32-bit
RAM512 КБ
Wi-Fi2.4 ГГц, до 150 Мбіт/с
BluetoothBLE (Bluetooth Low Energy) та Legacy Bluetooth
Кількість пінів введення/виводу (GPIO)30 або 36 залежно від моделі
ПериферіяАЦП (аналого-цифровий перетворювач), ЦАП (цифро-аналоговий перетворювач), UART (універсальний асинхронний приймач), SPI (послідовний периферійний інтерфейс), I2C (послідовна асиметрична шина) та багато іншого.

Середовище розробки

ESP32 можна програмувати за допомогою:

  • Arduino IDE
  • Espressif IDF (IoT Development Framework)
  • Micropython
  • JavaScript
  • LUA

Підготовка до роботи

Підготовка до роботи з ESP32 в середовищі Arduino IDE на Windows
Підготовка до роботи з ESP32 в середовищі Arduino IDE на Mac OS
Підготовка до роботи з ESP32 в середовищі Arduino IDE на Linux

Розпіновка ESP32

ESP32 має більше контактів GPIO з більшою функціональністю в порівнянні з ESP8266. У програмному коді можна встановити режим роботи GPIO пінів: UART, I2C або SPI. Це можливо завдяки функції мультиплексування мікросхеми ESP32, яка дозволяє призначати кілька функцій одному й тому виходу. Якщо їх не встановити в коді, контакти будуть використовуватися за замовчанням, як показано на малюнку нижче (розташування контактів може змінюватися залежно від виробника).

Версія з 30 панами входу/виходу

Версія з 36 панами входу/виходу

Розпіновка ESP32: Які GPIO піни слід використовувати?

Arduino IDE

Завантаження коду

Розглянемо простий приклад миготіння вбудованим світлодіодом.

Відкрийте Arduino IDE на своєму комп'ютері та скопіюйте наступний код:

esp-32-blinking-led.ino
// світлодіод на ESP32 під'єднано до GPIO 23
const int ledPin = 23;

// функція setup виконується один раз під час підключення живлення або перезавантаження плати
void setup () {
  // ініціалізація режиму роботи цифрового піна ledPin як вихідний
  pinMode(ledPin, OUTPUT);
}

// функція loop виконується нескінченну кількість разів по колу
void loop () {
  digitalWrite(ledPin, HIGH);  // подаємо цифровий сигнал високого рівня (HIGH) на пін ledPin, тобто включаємо світлодіод
  delay(1000); // чекаємо 1 секунду
  digitalWrite(ledPin, LOW); // подаємо сигнал низького рівня (LOW), тобто вимикаємо світлодіод
  delay(1000); // чекаємо 1 секунду
}

Цей код включає та вимикає світлодіод, підключений до GPIO 23 з інтервалом в одну секунду.

Ускладнимо приклад

Крім увімкнення/вимкнення вбудованого світлодіода, можна під'єднати зовнішній світлодіод до порту 23.

Важливо! Завжди перевіряйте розпіновку вашої плати перед підключенням.

Для цієї збірки знадобиться:

  • Плата ESP32 DEVKIT V1
  • 5 мм світлодіод
  • Резистор на 330 Ом
  • Джампери
  • Макетна плата (необов'язково)

Після підключення всіх компонентів під'єднайте ESP32 до комп'ютера та дотримуйтесь інструкцій:

ESP32 миготіння світлодіодом
  1. Перейдіть до меню Інструменти Плата. Знайдіть розділ ESP32 і виберіть плату ESP32, наприклад ESP32 DEVKIT V1.
  2. У меню Інструменти Порт  виберіть порт, до якого під'єднано ESP32. Якщо ви не впевнені в назві порту, від'єднайте плату і перевірте, який порт зник зі списку.
  3. Натисніть Завантажити.

Демонстрація

Після завантаження коду, вбудований світлодіод, підключений до GPIO 23, блиматиме з інтервалом в 1 секунду.

Можливі помилки

Failed to connect to ESP32: Timed out... Connecting...

Передусім переконайтеся, що в налаштуваннях Arduino IDE вибрано правильну плату та порт.

Якщо помилка не зникла, це означає, що плата ESP32 не знаходиться в режимі перепрошивки/завантаження. Щоб завантажити код у такій ситуації, виконайте такі кроки:

  • Затисніть кнопку BOOT на платі ESP32
  • Після того, як ви побачите повідомлення Connecting…. у консолі Arduino IDE, відпустіть палець із кнопки BOOT:
  • Після цього ви маєте побачити повідомлення Done uploading.

Після завантаження скетчу натисніть кнопку ENABLE для перезавантаження ESP32.

На завершення

Миготіння світлодіодом - це простий проєкт, який допоможе вам почати працювати з ESP32 і дізнатися, як завантажувати прошивку в плату.