Skip to content

LED Simple — мигающий светодиод

Самый простой компонент репозитория: один светодиод, мигающий с фиксированным интервалом. Точка входа для тех, кто впервые видит проект — до датчиков, шин I2C/UART и классов.

💡 LED Simple — мигающий светодиод на ESP32

Самый простой компонент репозитория: один светодиод, который мигает с фиксированным интервалом. Точка входа для тех, кто впервые видит проект — до датчиков, шин I2C/UART и классов.

📋 Документация проекта

ФайлЧто внутриКому
GUIDE.mdУчебное пособие: модульность (.h/.cpp), const vs constexpr, разбор кода построчно, самопроверкаИзучаешь проект впервые
WIRING.mdСхема подключения светодиода и резистораСобираешь железо

Описание

Программа настраивает GPIO2 на выход и переключает его с интервалом 500 мс, зажигая и гася подключённый через резистор светодиод.

Программная архитектура

В отличие от остальных компонентов репозитория (см. COMPONENT_STANDARD.md), этот модуль намеренно не использует класс-драйвер: это осознанное отступление от стандарта, а не недосмотр. LED_simple — вводный, “до-ООП” шаг учебной программы, чья цель — показать модульность через обычные .h/.cpp-файлы со свободными функциями, прежде чем в Components/2. LED_middle появится класс-драйвер (LedController), неблокирующая логика на millis() и вотчдог isAlive().

ФайлыЧто внутри
include/led.h, src/led.cppСвободные функции setupLED()/toggleLED(), константа LED_PIN. Блокирующее мигание через delay() — сознательно простой вариант, разбор компромисса в GUIDE.md, раздел 4.
src/main.cppТочка входа: setup() инициализирует пин, loop() вызывает мигание.

Работа через CLI

cd "Components/3. LED_simple"
pio run -t upload && pio device monitor

Окружение esp32c6 в текущей версии ядра Arduino не собирается — ошибка компиляции внутри самого фреймворка (конфликт макроса Serial/USBSerial в HardwareSerial.h), не связана с кодом этого компонента (см. COMPONENT_STANDARD.md, раздел “Известные репозиторий-специфичные нюансы”). Используй esp32dev или esp32s3.

Связанные материалы

  • Резистор — почему светодиоду нужен резистор, как читать номинал по полоскам и проверить мощность.
  • LED_middle — следующий шаг: неблокирующее мигание на millis() и первый класс-драйвер.