Проект для esp 32 питания контроллера ленты RGB, где управление режимами происходит при подключении через WiFi на веб странице.
4 режима работы:

    • Статический цвет (управляется RGB-бегунками)

    • Плавное цветное переливание (режим по умолчанию)

    • Мерцание (случайные вспышки)

    • Бегущая радуга (дополнительный режим)

  1. Сохранение состояния:

    • Последний выбранный режим

    • Значения RGB

    • Сохранение в EEPROM при изменении

    • Восстановление после перезагрузки

  2. Управление WiFi:

    • Автоотключение через 3 минуты если не подключен

    • Требуется перезагрузка для повторной активации

    • Веб-интерфейс доступен только при активном WiFi

  3. Веб-интерфейс:

    • Адаптивный дизайн

    • Интерактивные RGB-слайдеры

    • Кнопки выбора режима с визуальной подсветкой активного

    • AJAX-запросы без перезагрузки страницы

Инструкция по использованию:

  1. Замените Your_SSID и Your_PASSWORD на свои WiFi-данные

  2. Настройте параметры ленты:

    • LED_PIN - пин управления

    • NUM_LEDS - количество светодиодов

    • COLOR_ORDER - порядок цветов (GRB для большинства лент)

  3. Подключитесь к сети ESP32 через браузер

  4. Используйте слайдеры для настройки цвета

  5. Выбирайте режимы работы кнопками

Примечания:

  • Для работы требуется библиотека FastLED

  • WiFi отключается только при первом включении

  • Все настройки сохраняются между перезагрузками

  • Дополнительный режим (бегущая радуга) реализует плавную смену цветов вдоль ленты

Для установки библиотек в Arduino IDE:

  1. FastLED: Скетч → Подключить библиотеку → Управлять библиотеками → Поиск "FastLED"

  2. Для EEPROM используется встроенная библиотека ESP32

Пример HTML страницы

Код проекта

Само собой не забываем что надо будет все подключить.

Аппаратное подключение ESP32 к RGB ленте (WS2812B/NeoPixel)

Необходимые компоненты:

  1. ESP32 (любая версия)

  2. RGB лента WS2812B (или аналогичная адресная)

  3. Блок питания 5V (с учетом мощности ленты)

  4. Конденсатор 1000 мкФ 6.3V+

  5. Резистор 220-470 Ом

  6. Макетная плата и провода

Расчет мощности блока питания:

Мощность = Количество светодиодов × 0.06A × 5V
Пример для 60 светодиодов: 60 × 0.3W = 18W → Блок питания 5V/4A

Схема подключения:

 
  [Блок питания 5V]
        │
        ├───────────┐
        │           │
     [Конденсатор]  │
       1000μF      │
        │           │
  ┌─────┴─────┐     │
  │   Лента   │     │
  │  VCC (5V)◄├─────┘
  │           │
  │  GND      ├───────────────┐
  │           │               │
  │  DIN      │               │
  └─────▲─────┘               │
        │                     │
      [Резистор]              │
      220-470Ω                │
        │                     │
  ┌─────┴─────┐         ┌─────┴─────┐
  │   ESP32   │         │   ESP32   │
  │           │         │           │
  │   GPIO4   ├─────────┤   5V      │ (опционально)
  │           │         │           │
  │   GND     ├─────────┼─── GND    │
  └───────────┘         └───────────┘

Пояснения:

  1. Конденсатор:

    • Устанавливается параллельно питанию ленты

    • Сглаживает скачки напряжения при включении

    • Полярность: + к 5V, - к GND

  2. Резистор:

    • Последовательно между GPIO4 и DIN ленты

    • Защищает линию данных от помех

  3. Питание:

    • Для лент >30 светодиодов - ОБЯЗАТЕЛЬНО внешнее питание

    • Для коротких лент можно использовать 5V с ESP32

    • Объедините GND блока питания и ESP32

  4. Порт подключения:

    • В коде используется GPIO4 (изменяемо в #define LED_PIN)

    • Альтернативные пины: 2, 12, 13, 14, 15, 18, 19, 21, 22, 23

Важные предупреждения:

  1. Никогда не подключайте ленту напрямую к USB!

  2. Проверяйте полярность подключения (5V/GND)

  3. При работе с длинными лентами используйте усилители сигнала

  4. Избегайте статического электричества при монтаже

Оптимизация питания:

  • Для лент >1м: подключение питания с двух сторон

  • Используйте толстые провода (18-22 AWG)

  • Для очень длинных лент: инжекция питания через каждые 50-60 светодиодов

Пример подключения для 120 светодиодов:

 
[Блок питания 5V/10A]
  ├─── Участок 1 (1-60 LED) ───┐
  ├─── Участок 2 (61-120 LED) ─┤
  └─── ESP32 (только GND) ─────┘
        GPIO4 ──резистор─┬─ DIN участок 1
                         └─ DIN участок 2