#103Новичок

Мигающий светодиод на ESP32

Учит базовой работе с выходами GPIO на ESP32. Эффект мигания получается включением и выключением светодиода с цифрового пина. Это ESP32-версия классического проекта мигания на Arduino UNO; базовые команды мигания в среде Arduino те же, но расположение пинов ESP32 и уровни GPIO 3,3 V отличаются от Arduino UNO.

4.7(37)
99 собрано
Мигающий светодиод на ESP32
Твой первый шаг с ESP32: светодиод, подключённый к плате, полсекунды горит, полсекунды не горит, и так бесконечно. Нужны всего один светодиод, один резистор и несколько проводов. Как только светодиод начнёт мигать, ты знаешь, что плата работает, а программа загружена.

Видео

Схема

Мигающий светодиод на ESP32 - Circuit

Исходный код

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Мигающий светодиод на ESP32
4// ─────────────────────────────────────────
5// Мигает светодиодом на GPIO 5 платы ESP32 каждые 500 мс. Это версия
6// классического скетча blink для ESP32; меняется только номер пина.
7//
8// Пины:
9//   GPIO 5 -> Красный светодиод (с резистором 220 ohm)
10//   GND    -> Короткая ножка светодиода (катод)
11
12void setup() {
13  pinMode(5, OUTPUT);     // Пин светодиода как выход
14}
15
16void loop() {
17  digitalWrite(5, HIGH);  // Включить светодиод
18  delay(500);             // Ждать 0,5 с
19  digitalWrite(5, LOW);   // Выключить светодиод
20  delay(500);
21}
22

Частые вопросы

Какие пины ESP32 можно использовать для светодиода?

Как выходы безопасно использовать GPIO 2, 4, 5, 12–19, 21–23, 25–27, 32 и 33. GPIO 34–39 работают только на вход и не могут управлять светодиодами. GPIO 6–11 подключены к встроенной flash-памяти, и их нельзя использовать ни в коем случае.

Какой резистор подходит для светодиода с ESP32 на 3,3 V?

Пины ESP32 выдают 3,3 V. Для красного светодиода подходит резистор 100–220 Ω; с резистором 220 Ω ток около 6–7 mA, и светодиод хорошо виден. У синих и белых светодиодов высокое прямое напряжение, поэтому при 3,3 V они могут светиться тусклее.

При загрузке кода появляется «Connecting...», и всё зависает. Что делать?

На некоторых платах ESP32 для режима загрузки нужно удерживать кнопку BOOT. Когда видишь «Connecting...», зажми кнопку BOOT и отпусти её, когда загрузка начнётся. Также убедись, что USB-кабель передаёт данные.

Будет ли код Arduino работать на ESP32 без изменений?

Базовые функции (pinMode, digitalWrite, delay) те же; чаще всего нужно только поменять номера пинов. В меню «Инструменты» выбери плату «ESP32 Dev Module».