План урока по ESP32: подготовка к первому занятию и ход урока на 40 минут
План урока по ESP32: на первом занятии каждая группа загружает код и зажигает светодиод. Чек-лист подготовки, материалы на 24 ученика, ход урока на 40 минут, код и 8 быстрых решений.
Когда составляешь план урока по ESP32, сведи первое занятие к одной цели: к концу урока каждая группа загружает код в свою ESP32 и зажигает светодиод. Wi-Fi, датчики и управление с телефона — дело следующих уроков. Хватит ли 40 минут, зависит не столько от того, что происходит на уроке, сколько от того, что сделано до него: установлен ли драйвер USB-UART-преобразователя, есть ли в Arduino IDE пакет плат ESP32 и действительно ли кабель на парте передаёт данные? Если эти три пункта готовы, первая загрузка занимает пять минут; если нет, половина урока уходит на «порт не виден».
В этой статье — комплект, который можно взять на урок уже завтра: чек-лист для копирования на неделю до урока, на день до него и на утро урока, таблица материалов, ход 40-минутного урока по минутам, два скетча, которые компилируются без ошибок, пять отличий ESP32 от Arduino Uno, решения за минуту для восьми самых частых проблем и вопросы на выходе. Допустим, в классе 24 ученика и ты делишь их на 8 групп по три человека; все числа ниже рассчитаны на это. Если урок длится 45 или 50 минут, лишнее время — твой запас. Если ESP32 для тебя пока в новинку, сначала загляни в статью «Что такое ESP32?».

Цель первого урока: почему всего один светодиод?
На первом уроке по ESP32 есть два пути: показать впечатляющий проект с Wi-Fi или дать каждому своими руками запустить что-то маленькое. Второй путь учит гораздо большему. Чтобы зажечь светодиод, ученику нужно один раз пройти всю цепочку от начала до конца: открыть код, выбрать плату и порт, скомпилировать, загрузить, собрать схему, увидеть результат, затем изменить значение и загрузить снова. Когда эта цепочка работает, на следующих уроках добавляются только новые детали. Если перейти к Wi-Fi раньше, пароли от сети, драйверы и кабели наслаиваются друг на друга, и понять, что из них вызывает ошибку, становится почти невозможно. Поэтому в этом плане на первом уроке сети нет: сначала встроенный светодиод платы, потом один внешний светодиод на макетной плате, а для быстрых групп — оба по очереди.
Чек-лист подготовки к уроку
Раздели подготовку на три этапа. Список можно скопировать и распечатать или передать школьному системному администратору: в большинстве школ задачи, которым нужны права администратора, например установка драйверов и программ, проходят через него. За неделю до урока:
- Пересчитай платы и проверь модель. Этот план написан для ESP32 DevKit на 30 пинов (с модулем ESP32-WROOM-32); на платах с 38 пинами код тот же, отличается только порядок пинов.
- Прочитай надпись на маленькой микросхеме рядом с USB-портом платы: CP2102, CH340 или CH9102? От этого зависит, какой драйвер нужен.
- Пусть на компьютеры в классе установят Arduino IDE 2. Для установки на школьных компьютерах обычно нужны права администратора, так что договорись о времени с системным администратором.
- В Arduino IDE установи пакет esp32 by Espressif Systems через «Менеджер плат» (Boards Manager). Он скачивает сотни мегабайт; если делать это в школьной сети прямо на уроке, 40 минут может не хватить.
- Установи драйвер USB-UART-преобразователя, подключи плату и проверь, что в меню «Инструменты › Порт» (Tools › Port) появляется новый порт.
- Проверь кабели: загрузи скетч в плату через каждый из них, отложи кабели только для зарядки, а кабели с передачей данных отметь цветной изолентой.
- Вставь ESP32 в макетную плату и посмотри, остаются ли свободные отверстия с обеих сторон. Если нет, каждой группе понадобятся две макетные платы.
- Узнай ограничения школьной сети: ESP32 подключается только к Wi-Fi 2,4 GHz, а с корпоративными сетями, которые спрашивают имя пользователя и пароль, справиться трудно. На первом уроке Wi-Fi не понадобится, но для следующих уроков эти сведения нужны уже сейчас.
Накануне каждый компьютер должен быть готов к уроку: цель в том, чтобы на уроке не осталось ни одного шага установки, который делается впервые. Выдели десять минут и утром в день урока. Оба списка собраны в одном месте:
- Накануне: сделай пробную загрузку на каждом компьютере. Подключи плату, выбери ESP32 Dev Module и порт, загрузи скетч со встроенным светодиодом и убедись, что светодиод мигает. Первая компиляция может занять больше минуты; эта проба заодно ускоряет следующие компиляции.
- Накануне: в Windows наклей сбоку на компьютер наклейку с номером порта (COM3, COM5 и т. д.). Одна и та же плата в одном и том же USB-разъёме обычно получает тот же номер.
- Накануне: собери коробки для групп: плата, кабель, макетная плата, два светодиода, два резистора 220 Ω, четыре перемычки. Запасной набор держи на столе учителя.
- Накануне: сохрани оба скетча на рабочий стол каждого компьютера; если интернет начнёт тормозить, ученики откроют код оттуда.
- Накануне: проверь, что проект «Мигание встроенным светодиодом ESP32» открывается в BlueGrays на проекторе.
- Утром в день урока: включи компьютеры, открой Arduino IDE и проверь, что плата по-прежнему выбрана как ESP32 Dev Module.
- Утром в день урока: нарисуй на доске простую схему платы: USB-порт, BOOT, EN, GND, 3V3 и GPIO5 (на плате подписан как D5).
- Утром в день урока: напиши в углу доски одну строку: «Застряло на Connecting...? Держи BOOT».
- Утром в день урока: в последний раз пересчитай светодиоды и резисторы в коробках и положи кабели сверху.
Драйвер, пакет плат и BOOT: что нужно знать
В «Менеджере плат» Arduino IDE можно увидеть два пакета ESP32. Для школьных плат правильный — пакет esp32 от Espressif; пакет «Arduino ESP32 Boards» предназначен для собственной платы Arduino — Nano ESP32. После установки выбери ESP32 Dev Module в меню «Инструменты › Плата › esp32». Если пакета нет в списке, нужно добавить адрес пакета Espressif в поле «Дополнительные ссылки для Менеджера плат» в меню «Файл › Настройки» (File › Preferences); шаги описаны в статье «Что такое ESP32?». Скетчи для ESP32 компилируются дольше, чем для Uno: даже для мигания светодиодом первая компиляция может занять больше минуты. Скажи об этом ученикам заранее, иначе они будут снова и снова нажимать «Загрузка» (Upload), пока индикатор выполнения будто стоит на месте. Какой драйвер ставить, определяет USB-UART-преобразователь на плате:
| USB-UART-преобразователь | Как узнать на плате | Имя порта в Windows | Примечание |
|---|---|---|---|
| CP2102 / CP2104 | Маленькая квадратная микросхема рядом с USB-портом, с надписью CP2102 или SiLabs | Silicon Labs CP210x USB to UART Bridge (COMx) в разделе «Порты» | Windows часто устанавливает драйвер автоматически; если нет, нужен драйвер CP210x от Silicon Labs |
| CH340 (CH340C, CH340G) | Прямоугольная микросхема с надписью CH340 | USB-SERIAL CH340 (COMx) в разделе «Порты» | Нужен драйвер CH340 от WCH; иногда его автоматически ставит Центр обновления Windows |
| CH9102 | Маленькая квадратная микросхема на новых платах, с надписью CH9102 | USB-Enhanced-SERIAL CH9102 (COMx) в разделе «Порты» | Нужен драйвер CH9102/CH343 от WCH; драйвер CH340 эту микросхему не распознаёт |
Кнопка BOOT подключена к пину GPIO0 ESP32. В начале загрузки плата должна войти в режим программирования; большинство DevKit делают это автоматически с помощью двух сигналов от USB-UART-преобразователя. С некоторыми сочетаниями платы и кабеля это автоматическое переключение не срабатывает: точки после «Connecting...» в выводе всё тянутся, и в итоге появляется ошибка «Failed to connect to ESP32». Решение: зажать BOOT, как только появится «Connecting...», и отпустить, когда побегут строки прогресса, начинающиеся с «Writing at». Кнопка EN перезапускает плату; если загрузка завершена, а код как будто не работает, достаточно один раз нажать EN. Если на одной и той же плате проблема повторяется, обычно помогает снизить Upload Speed в меню «Инструменты» с 921600 до 115200. В macOS имя порта обычно начинается с cu.usbserial или cu.SLAB_USBtoUART.
Список материалов: на группу и на класс из 24 учеников
Если разделить 24 ученика на группы по три, получится 8 групп; с одним запасным набором нужно подготовить 9 наборов. Если удобнее работать парами, нужно 12 групп и запасной набор, то есть 13 наборов, и соответственно больше компьютеров. Паять ничего не нужно. Почему по два светодиода и по два резистора на группу, объяснить просто: светодиод, вставленный наоборот или со сломанной ножкой, на первом уроке встречается очень часто, а заставлять группу ждать не хочется.
| Что нужно | На группу | На класс (8 групп + 1 запасной набор) | Примечание |
|---|---|---|---|
| ESP32 DevKit (30 пинов, ESP32-WROOM-32) | 1 | 9 | Только одна модель: при разных моделях путается порядок пинов |
| USB-кабель с передачей данных (Micro-USB или USB-C, в зависимости от платы) | 1 | 11 | 2 запасных кабеля; все проверены и помечены |
| Макетная плата (830 отверстий) | 1 | 9 | 2 на группу, если плата не помещается (18 на класс) |
| Красный светодиод 5 мм | 2 | 20 | Красный светодиод без труда горит от 3,3 V |
| Резистор 220 Ω | 2 | 20 | Цветные полосы: красный-красный-коричневый |
| Провод-перемычка «папа–папа» | 4 | около 40 | Для GND всегда бери чёрный |
| Компьютер с Arduino IDE и пакетом ESP32 | 1 | 8 + компьютер учителя | С наклейкой с номером порта |
| Телефон или планшет с открытым BlueGrays | 1 (по желанию) | 8 | Чтобы смотреть схему и код; подойдёт и проектор |
| Коробка или пакет для деталей | 1 | 9 | В конце урока пересчитай всё и забери обратно |
Ход урока на 40 минут
Ход урока построен на двух бесплатных проектах BlueGrays: сначала «Мигание встроенным светодиодом ESP32» (без схемы, только плата и кабель), затем «Мигающий светодиод на ESP32» (GPIO5, резистор 220 Ω и светодиод). В обоих проектах список деталей, схема, код, блоки и Разбор кода открыты бесплатно. Раздай в каждой группе три роли и меняй их на каждом этапе: клавиатура, сборка схемы, чтение схемы и кода с телефона или проектора. Так никто не проводит все 40 минут, просто наблюдая.
| Минуты | Этап | Учитель | Ученики |
|---|---|---|---|
| 0–4 | Вступление и цель | Поднимает плату и называет единственную цель: «До звонка каждая группа загрузит свой код и зажжёт светодиод». Упоминает, что в плате, как и в телефонах, есть Wi-Fi, но сегодня он не понадобится. | Распределяют роли, открывают коробку, пересчитывают детали. |
| 4–9 | Знакомство с платой | По рисунку на доске показывает USB-порт, кнопки BOOT и EN и пины GND, 3V3 и GPIO5; предупреждает про 3,3 V. | Находят эти места на своей плате и отмечают, где встроенный светодиод. |
| 9–17 | Первая загрузка: встроенный светодиод | Открывает на проекторе проект «Мигание встроенным светодиодом ESP32», один раз показывает выбор платы и порта, напоминает про BOOT. | Открывают или копируют код, выбирают ESP32 Dev Module и порт, загружают; светодиод мигает раз в секунду. |
| 17–21 | Изменить одно значение | Спрашивает: «Что будет, если вместо 1000 написать 200?» — и сначала просит прогноз. | Делают прогноз, меняют оба значения delay(), загружают снова и сравнивают результат с прогнозом. |
| 21–31 | Схема с внешним светодиодом | Выводит на проектор схему проекта «Мигающий светодиод на ESP32», показывает длинную ножку светодиода и место резистора, обходит группы и проверяет каждую схему при отключённом USB. | Отключают USB, собирают цепь GPIO5 → 220 Ω → длинная ножка светодиода, короткая ножка → GND, после одобрения учителя загружают код. |
| 31–35 | Мини-задание | Даёт быстрым группам дополнительное задание: пусть встроенный и внешний светодиоды мигают по очереди. У групп, где что-то не получается, сначала проверяет кабель и направление светодиода. | Делают оба пина выходами, выключают один, пока горит другой; группы, у которых всё готово, переходят к заданию «Твоя очередь» в «Разборе кода». |
| 35–38 | Уборка | Просит всех отключить USB и пересчитать детали. | Разбирают схему и, пересчитывая, складывают детали в коробку. |
| 38–40 | Вопросы на выходе | Пишет четыре вопроса на доске или задаёт их устно. | Пишут короткие ответы на листке и сдают их на выходе из класса. |

Код: встроенный и внешний светодиод
Два скетча ниже используют те же пины и задержки, что и проекты в приложении, и сразу компилируются, если в Arduino IDE выбрана ESP32 Dev Module. Первый мигает светодиодом на плате раз в секунду. На большинстве плат ESP32 DevKit этот синий светодиод подключён к GPIO2. На Arduino Uno встроенный светодиод находится на пине 13; ученики, знакомые с Uno, могут по привычке написать 13, так что заранее обрати внимание на эту разницу.
1// ESP32 Dahili LED Yakma / ESP32 built-in LED blink
2// Çoğu ESP32 DevKit kartında dahili LED GPIO2'dedir / On most ESP32 DevKit boards the built-in LED is on GPIO2
3int BUILTIN_LED_PIN = 2; // Kartına göre değişebilir / May differ on your board
4
5void setup() {
6 pinMode(BUILTIN_LED_PIN, OUTPUT); // Pini çıkış yap / Set the pin as output
7}
8
9void loop() {
10 digitalWrite(BUILTIN_LED_PIN, HIGH); // LED'i yak / Turn the LED on
11 delay(1000); // 1 saniye bekle / Wait 1 second
12 digitalWrite(BUILTIN_LED_PIN, LOW); // LED'i söndür / Turn the LED off
13 delay(1000); // 1 saniye bekle / Wait 1 second
14}
15Схема для второго скетча: от GPIO5 к одному концу резистора 220 Ω, от другого конца резистора к длинной ножке светодиода (анод), а от короткой ножки (катод) к GND. Пин ESP32 выдаёт 3,3 V; на красном светодиоде падает около 2 V, а оставшиеся 1,3 V на 220 Ω дают ток примерно 6 mA. Этого хватает, чтобы светодиод было хорошо видно, и пин не перегружается. Если светодиод другого цвета, проверь резистор в калькуляторе резистора для светодиода. В мини-задании быстрые группы объединяют два скетча: в setup() делают оба пина выходами, а в loop() записывают HIGH в один, пока в другом LOW.
1// ESP32 ile LED Yakma: harici LED / ESP32 external LED blink
2// Bağlantı: GPIO5 -> 220 Ω direnç -> LED uzun bacak (+), kısa bacak (-) -> GND
3// Wiring: GPIO5 -> 220 ohm resistor -> LED long leg (+), short leg (-) -> GND
4const int LED_PIN = 5; // Harici LED pini (kartta D5) / External LED pin (D5 on the board)
5
6void setup() {
7 pinMode(LED_PIN, OUTPUT); // Pini çıkış yap / Set the pin as output
8}
9
10void loop() {
11 digitalWrite(LED_PIN, HIGH); // Pin 3,3 V verir, LED yanar / Pin outputs 3.3 V, LED on
12 delay(500); // Yarım saniye bekle / Wait half a second
13 digitalWrite(LED_PIN, LOW); // Pin 0 V verir, LED söner / Pin outputs 0 V, LED off
14 delay(500); // Yarım saniye bekle / Wait half a second
15}
165 отличий ESP32 от Arduino Uno
Возможно, некоторые ученики уже знакомы с Arduino Uno. Код пишется на том же языке Arduino, setup() и loop() на своих местах, но железо другое, и большинство ошибок на первом уроке возникает именно из-за этих различий. Пять пунктов ниже можно разобрать за несколько минут на этапе знакомства с платой. Подробное сравнение — в статье «Arduino или ESP32?».
| Тема | Arduino Uno | ESP32 DevKit | Что это значит на уроке |
|---|---|---|---|
| Логическое напряжение | 5 V | 3,3 V; пины не выдерживают 5 V | Никогда не подавай 5 V на GPIO; перед подключением модуля на 5 V проверь его выходное напряжение |
| Номера пинов | D0–D13 и A0–A5 | Используются номера GPIO; пин с надписью D5 на плате в коде — это 5 | Число в коде — это номер GPIO на плате, а не порядковый номер пина от края |
| Пины только для входа | Нет; все цифровые пины могут быть выходами | GPIO34, 35, 36 (VP) и 39 (VN) работают только как входы и не имеют встроенных подтягивающих резисторов; GPIO6–11 заняты флеш-памятью | Светодиод на 34 не загорится никогда; на первом уроке используй только GPIO2 и GPIO5 |
| Кнопки BOOT и EN | Одна кнопка сброса; загрузка начинается автоматически | BOOT (GPIO0) — для режима программирования, EN — для перезапуска | Если «Connecting...» затягивается, держи BOOT; если код как будто не работает, нажми EN |
| Беспроводная связь | Нет | Встроенные Wi-Fi 2,4 GHz и Bluetooth (Classic и BLE) | На первом уроке не используется; на следующих уроках её пробуют через точку доступа на телефоне, в зависимости от школьной сети |
8 самых частых проблем на уроке и решения за минуту
| Симптом | Вероятная причина | Решение за минуту |
|---|---|---|
| Меню «Инструменты › Порт» пустое или неактивно | Кабель только для зарядки или нет драйвера | Попробуй помеченный кабель с передачей данных; если порта всё ещё нет, найди название микросхемы в Диспетчере устройств и проверь плату на компьютере учителя |
| «Connecting...» затягивается, затем «Failed to connect to ESP32» | Плата не входит в режим программирования автоматически | Запусти загрузку снова, при появлении «Connecting...» держи BOOT, отпусти, когда пойдут строки «Writing at» |
| В выводе ошибки avrdude | В качестве платы всё ещё выбрана Arduino Uno | Выбери «Инструменты › Плата › esp32 › ESP32 Dev Module» и загрузи снова |
| Загрузка проходит успешно, но со светодиодом ничего не меняется | Выбран не тот порт (подключено несколько плат) | Отключи плату, посмотри, какой порт исчезает из меню «Порт», подключи её обратно и выбери этот порт; сверь с наклейкой на компьютере |
| Внешний светодиод вообще не горит | Светодиод вставлен наоборот, или резистор и светодиод не в одном ряду макетной платы | Переверни светодиод: длинная ножка со стороны резистора, короткая — к GND; проверь, что соединения в одном ряду |
| Схема выглядит правильно, но светодиод всё равно не горит | Провод вставлен в другой пин (например, D4 или D34) | Прочитай надпись у пина, в котором провод, и сравни с числом в коде; избегай пинов 34–39 |
| Код загружен, но встроенный светодиод не мигает | На плате нет программируемого светодиода, или он на другом пине | Посмотри распиновку платы; не теряя времени, переходи к этапу с внешним светодиодом |
| Светодиод горит постоянно или плата греется | Светодиод подключён к 5V/VIN или 3V3, либо 3V3 замкнут на GND | Сразу отключи USB; перенеси светодиод на GPIO5, найди провод, который даёт замыкание, затем подключи снова |
Вопросы на выходе и что будет на втором уроке
- На какой пин платы указывает число 5 в коде? Почему рядом с этим пином на плате может быть написано «D5»?
- Что изменилось у светодиода, когда в коде вместо delay(1000) стало delay(200)? Сколько раз в секунду светодиод мигает теперь?
- Почему светодиод, вставленный наоборот, не горит? Какая ножка светодиода идёт со стороны резистора?
- Какое напряжение выдают пины ESP32? Почему светодиод или модуль нельзя подключать напрямую к пину 5V?
Ответы показывают, какую идею стоит повторить на втором уроке; ответ «2,5» на второй вопрос значит, что тема времени усвоена. На втором уроке к той же схеме добавляется кнопка: в проекте «Управление светодиодом кнопкой на ESP32 (удержание)» светодиод горит, пока кнопка нажата, а в проекте «Управление светодиодом кнопкой на ESP32 (переключение)» каждое нажатие меняет его состояние. Оба проекта бесплатные и с блоками; ученики впервые читают вход и принимают решение с помощью if. На третьем или четвёртом уроке можно перейти к Wi-Fi; для этого урока держи под рукой таблицу кодов состояния из статьи «ESP32 не подключается к Wi-Fi». Проекты ESP32 с Wi-Fi в BlueGrays доступны с Premium; если хочешь перевести на них учеников, в статье «Коды Premium для класса» мы объясняем, как работает выдача каждому ученику кода из пакета для педагогов вместо отдельных подписок.
Как использовать BlueGrays на уроке?
- Найди проект: в разделе «Обзор › Проекты» через Фильтр выбери платформу ESP32, а в разделе Цена — «Бесплатно». Проекты ESP32, подходящие для первых уроков, например светодиод, кнопка, светофор, датчик освещённости и датчик расстояния, открыты полностью.
- Нужные компоненты и схема: список деталей уже готов, с количеством. Схему можно увеличить и вывести на проектор или сохранить через Сохранить в галерею и распечатать.
- Исходный код: кнопка Копировать копирует код в буфер обмена. Если проект открыт у ученика на телефоне, Копировать ссылку даёт ссылку, по которой код открывается на компьютере, так что набирать его вручную никому не придётся.
- Разбор кода: сначала краткое объяснение Что делает этот код?, затем пошаговое объяснение Шаг за шагом, раздел Если не получается и задание Твоя очередь. Это готовый следующий шаг для групп, которые рано справились с мини-заданием.
- Показать блоками: блочный вид есть во всех бесплатных проектах ESP32. Включи переключатель, и вместо кода появятся блоки той же программы, а вкладка станет Разбор блоков. Блоки нужны для чтения: в приложении их не редактируют и не загружают в плату, в плату всегда попадает настоящий код.
- Собираем вместе: пошаговый режим, который проводит через этапы: подготовить детали, собрать схему, загрузить код, запустить и проверить. Экран не гаснет, так что группа может идти по шагам, пока телефон лежит на парте; в конце кнопка Работает! отмечает проект как собранный.
Первый урок может показаться всего лишь одним светодиодом, но за эти 40 минут ученики один раз проходят компиляцию, загрузку, номера пинов, ограничение 3,3 V и отладку, и каждый следующий урок по ESP32 строится на этом фундаменте. Все разделы страницы проекта мы подробно разбираем в руководстве по странице проекта. Если перед уроком хочется один раз собрать оба проекта своими руками, открой в приложении BlueGrays проект «Мигание встроенным светодиодом ESP32»: схема, код, блоки и «Разбор кода» уже на месте, и репетиция займёт не больше десяти минут.
Частые вопросы
Что делать на первом уроке по ESP32?
Цель первого урока — чтобы каждая группа загрузила код в свою ESP32 и зажгла светодиод: сначала встроенный светодиод платы, потом внешний светодиод с резистором 220 Ω на макетной плате. Wi-Fi и датчики ждут следующих уроков. Так ученики один раз без проблем проходят компиляцию, загрузку и номера пинов.
Какую плату выбрать для ESP32 в Arduino IDE?
Для универсальных плат вроде ESP32 DevKit установи пакет esp32 от Espressif и выбери ESP32 Dev Module в меню «Инструменты › Плата › esp32». Пакет Arduino ESP32 Boards предназначен для Arduino Nano ESP32. Если в качестве платы по-прежнему выбрана Arduino Uno, загрузка останавливается с ошибкой avrdude.
Почему компьютер не видит ESP32?
Сначала замени кабель: многие USB-кабели предназначены только для зарядки и не передают данные. Затем прочитай надпись на USB-UART-преобразователе платы (CP2102, CH340 или CH9102) и установи подходящий драйвер. В Windows в Диспетчере устройств в разделе «Порты (COM и LPT)» должен появиться новый COM-порт.
Нужно ли нажимать кнопку BOOT при загрузке кода в ESP32?
Большинство DevKit входят в режим программирования автоматически, так что BOOT не нужен. Если «Connecting...» затягивается и появляется «Failed to connect to ESP32», запусти загрузку заново, зажми BOOT при появлении «Connecting...» и отпусти, когда начнётся запись. Если это повторяется, снизь скорость загрузки до 115200.
На каком пине встроенный светодиод ESP32?
На распространённых платах ESP32 DevKit на 30 пинов синий встроенный светодиод подключён к GPIO2. Но это зависит от платы: у DevKitC от Espressif есть только светодиод питания, а на некоторых платах светодиод на другом пине. Если есть сомнения, посмотри распиновку платы или используй внешний светодиод на макетной плате.
Можно ли в школе начинать с ESP32 вместо Arduino Uno?
Да: код пишется на том же языке Arduino, и первый урок со светодиодом почти не отличается. Различия — логический уровень 3,3 V, нумерация GPIO, пины только для входа и кнопка BOOT, и на их объяснение на первом уроке хватает нескольких минут. Подготовка занимает чуть больше времени, чем с Uno, зато на следующих уроках сразу доступны Wi-Fi и Bluetooth.
Что собрать после прочтения
Все проекты
Мигание встроенным светодиодом ESP32
Мигание встроенным синим светодиодом на ESP32 DevKit V1. Внешние компоненты не нужны! Первый проект, который стоит попробовать после покупки ESP32. Встроенный светодиод подключён к GPIO 2.

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

Управление светодиодом кнопкой на ESP32 (удержание)
Светодиод горит, когда кнопка нажата, и гаснет, когда её отпускают. Показывает, как используются цифровой входной пин ESP32 и встроенный подтягивающий резистор. Режим INPUT_PULLUP избавляет от внешнего резистора.

Управление светодиодом кнопкой на ESP32 (переключение)
При каждом нажатии кнопки состояние светодиода меняется: если горел — гаснет, если не горел — загорается. Классический шаблон переключения. Антидребезг убирает механический шум кнопки, чтобы одно нажатие давало одно переключение.

Светофор на ESP32
Реалистичная симуляция светофора на 3 светодиодах — красном, жёлтом и зелёном. Тайминги близки к реальной логике движения: красный долго, жёлтый коротко, зелёный долго. Классический пример последовательного управления GPIO.

Измерение освещённости модулем LDR на ESP32
Наблюдение в мониторе порта в реальном времени за сырым значением ADC модуля LDR и относительным процентом освещённости, вычисленным по опорным значениям темноты и света. Этот процент — не измерение в люксах. Учит логике калибровки модуля. Идеально выполнить его перед проектом 10, потому что он нужен для определения порога.

Ультразвуковой датчик расстояния HC-SR04 на ESP32
Ультразвуковой датчик HC-SR04 вычисляет расстояние по времени, за которое испущенная им звуковая волна отражается от предмета и возвращается (Time of Flight). В этом проекте ESP32 подаёт импульс 10 микросекунд на пин TRIG датчика, а длительность эха читает с пина ECHO через pulseIn(). Вычисленное расстояние в сантиметрах выводится на I2C LCD 16x2. HC-SR04 работает от 5V, поэтому на пине ECHO нужен делитель напряжения.

Температура и влажность с DHT22 на ESP32 (с LCD-дисплеем)
Этот проект измеряет температуру и влажность воздуха датчиком DHT22 и в реальном времени показывает данные на I2C LCD 16x2. Данные читаются с датчика по однопроводному протоколу через библиотеку Adafruit DHT. Проект служит основой для IoT-метеостанций, умного дома или систем мониторинга среды в теплицах. Связь с DHT22 идёт через пин GPIO 4 у ESP32.
Другие статьи
Приложение BlueGrays
Собери эту схему шаг за шагом в телефоне
Схема подключения, код и список деталей на одном экране. 200+ проектов на Arduino, ESP32 и Pico готовы к сборке.
Наведи камеру телефона
Наведи камеру на код — откроется магазин приложений на телефоне.
или открыть магазин

