Проект для esp 32 питания контроллера ленты RGB, где управление режимами происходит при подключении через WiFi на веб странице.
4 режима работы:
-
-
Статический цвет (управляется RGB-бегунками)
-
Плавное цветное переливание (режим по умолчанию)
-
Мерцание (случайные вспышки)
-
Бегущая радуга (дополнительный режим)
-
-
Сохранение состояния:
-
Последний выбранный режим
-
Значения RGB
-
Сохранение в EEPROM при изменении
-
Восстановление после перезагрузки
-
-
Управление WiFi:
-
Автоотключение через 3 минуты если не подключен
-
Требуется перезагрузка для повторной активации
-
Веб-интерфейс доступен только при активном WiFi
-
-
Веб-интерфейс:
-
Адаптивный дизайн
-
Интерактивные RGB-слайдеры
-
Кнопки выбора режима с визуальной подсветкой активного
-
AJAX-запросы без перезагрузки страницы
-
Инструкция по использованию:
-
Замените
Your_SSID
иYour_PASSWORD
на свои WiFi-данные -
Настройте параметры ленты:
-
LED_PIN
- пин управления -
NUM_LEDS
- количество светодиодов -
COLOR_ORDER
- порядок цветов (GRB для большинства лент)
-
-
Подключитесь к сети ESP32 через браузер
-
Используйте слайдеры для настройки цвета
-
Выбирайте режимы работы кнопками
Примечания:
-
Для работы требуется библиотека FastLED
-
WiFi отключается только при первом включении
-
Все настройки сохраняются между перезагрузками
-
Дополнительный режим (бегущая радуга) реализует плавную смену цветов вдоль ленты
Для установки библиотек в Arduino IDE:
-
FastLED: Скетч → Подключить библиотеку → Управлять библиотеками → Поиск "FastLED"
-
Для EEPROM используется встроенная библиотека ESP32
Само собой не забываем что надо будет все подключить.
Аппаратное подключение ESP32 к RGB ленте (WS2812B/NeoPixel)
Необходимые компоненты:
-
ESP32 (любая версия)
-
RGB лента WS2812B (или аналогичная адресная)
-
Блок питания 5V (с учетом мощности ленты)
-
Конденсатор 1000 мкФ 6.3V+
-
Резистор 220-470 Ом
-
Макетная плата и провода
Расчет мощности блока питания:
Пример для 60 светодиодов: 60 × 0.3W = 18W → Блок питания 5V/4A
Схема подключения:
[Блок питания 5V] │ ├───────────┐ │ │ [Конденсатор] │ 1000μF │ │ │ ┌─────┴─────┐ │ │ Лента │ │ │ VCC (5V)◄├─────┘ │ │ │ GND ├───────────────┐ │ │ │ │ DIN │ │ └─────▲─────┘ │ │ │ [Резистор] │ 220-470Ω │ │ │ ┌─────┴─────┐ ┌─────┴─────┐ │ ESP32 │ │ ESP32 │ │ │ │ │ │ GPIO4 ├─────────┤ 5V │ (опционально) │ │ │ │ │ GND ├─────────┼─── GND │ └───────────┘ └───────────┘
Пояснения:
-
Конденсатор:
-
Устанавливается параллельно питанию ленты
-
Сглаживает скачки напряжения при включении
-
Полярность: + к 5V, - к GND
-
-
Резистор:
-
Последовательно между GPIO4 и DIN ленты
-
Защищает линию данных от помех
-
-
Питание:
-
Для лент >30 светодиодов - ОБЯЗАТЕЛЬНО внешнее питание
-
Для коротких лент можно использовать 5V с ESP32
-
Объедините GND блока питания и ESP32
-
-
Порт подключения:
-
В коде используется GPIO4 (изменяемо в #define LED_PIN)
-
Альтернативные пины: 2, 12, 13, 14, 15, 18, 19, 21, 22, 23
-
Важные предупреждения:
-
Никогда не подключайте ленту напрямую к USB!
-
Проверяйте полярность подключения (5V/GND)
-
При работе с длинными лентами используйте усилители сигнала
-
Избегайте статического электричества при монтаже
Оптимизация питания:
-
Для лент >1м: подключение питания с двух сторон
-
Используйте толстые провода (18-22 AWG)
-
Для очень длинных лент: инжекция питания через каждые 50-60 светодиодов
Пример подключения для 120 светодиодов:
[Блок питания 5V/10A] ├─── Участок 1 (1-60 LED) ───┐ ├─── Участок 2 (61-120 LED) ─┤ └─── ESP32 (только GND) ─────┘ GPIO4 ──резистор─┬─ DIN участок 1 └─ DIN участок 2