Самодельный контроллер светодиодной ленты на ESP32 и Алиса
Содержание
Яндекс Браузер со встроенной Алисой — бесплатно
Создание уютной атмосферной подсветки с помощью светодиодных лент — один из самых популярных проектов в современном дизайне интерьеров. Готовые коммерческие контроллеры часто имеют ограничения: они работают через облачные китайские серверы с задержками, поддерживают маломощные нагрузки или не позволяют гибко настраивать плавность переходов.
Сборка собственного мощного контроллера светодиодной ленты на базе популярного двухъядерного микроконтроллера ESP32 под управлением системы ESPHome решает эти проблемы. Вы получите локальное устройство с мгновенным откликом, способное управлять мощными лентами с напряжением питания 12 В или 24 В через силовые транзисторы, а также легко интегрируемое в экосистему Дома с Алисой для плавного диммирования и выбора цвета с помощью голоса.
Принцип работы и подбор радиокомпонентов
Светодиодная RGB-лента состоит из трех групп светодиодов: красных (Red), зеленых (Green) и синих (Blue), подключенных к общему аноду (плюсовому контакту питания). Управление цветом и яркостью свечения осуществляется путем регулировки напряжения на катодах (минусовых контактах) каждого канала.
Поскольку микроконтроллер ESP32 выдает на своих логических выводах управляющий сигнал с напряжением всего 3.3 В и током до 12 мА, он не может напрямую питать мощную светодиодную ленту, которой требуется напряжение 12 В или 24 В и ток в несколько Ампер.
Для решения этой задачи используются силовые ключи — мощные N-канальные полевые транзисторы (MOSFET), например, популярные и доступные IRFZ44N или логические IRLB8721. Транзистор выступает в роли быстрого электронного переключателя: ШИМ-сигнал (широтно-импульсная модуляция) с выхода ESP32 открывает и закрывает транзистор тысячи раз в секунду, регулируя среднюю мощность, поступающую на светодиоды.
Для сборки нам понадобятся:
- Микроконтроллерная плата ESP32 NodeMCU.
- Три полевых транзистора IRFZ44N (по одному на каждый цветовой канал).
- Три резистора номиналом
220 Ом(для ограничения тока затвора транзисторов). - Три резистора номиналом
10 кОм(стягивающие затвор на землю GND для исключения ложных мерцаний светодиодов при старте контроллера). - Блок питания на
12 Вили24 В(в зависимости от рабочего напряжения вашей ленты).
Сборка электрической схемы контроллера
Сборка силовой части схемы выполняется по следующему алгоритму:
- Подключите вывод
GNDплаты ESP32 к минусовому проводу внешнего блока питания. Это критически важное условие для выравнивания потенциалов. - Каждый из трех транзисторов имеет три вывода: затвор (Gate), сток (Drain) и исток (Source).
- Истоки (Source) всех трех транзисторов объедините и подключите к общей шине земли
GND. - Затворы (Gate) подключите к выбранным цифровым пинам ESP32 (например, GPIO18 для Red, GPIO19 для Green и GPIO21 для Blue) через токоограничивающие резисторы
220 Ом. - Установите стягивающие резисторы
10 кОммежду затвором каждого транзистора и землейGND. - Стоки (Drain) транзисторов подключите к соответствующим катодам RGB-ленты (проводам R, G, B).
- Плюсовой провод от внешнего блока питания подключите напрямую к общему аноду (
+12Vили+24V) светодиодной ленты.
IMPORTANT
Земли (минусовые контакты) платы ESP32 и силового блока питания светодиодной ленты должны быть физически соединены в одной точке. Без общего провода земли затворы полевых транзисторов не смогут корректно открываться управляющим сигналом от микросхемы, что приведет к хаотичному мерцанию светодиодов или полному отсутствию свечения.
WARNING
При коммутации светодиодных лент большой длины полевые транзисторы могут сильно нагреваться. Если суммарный потребляемый ток ленты превышает 3 Ампера на один канал, обязательно закрепите транзисторы IRFZ44N на небольших алюминиевых радиаторах через теплопроводящие диэлектрические прокладки во избежание теплового пробоя полупроводников.
Создание конфигурации ESPHome и прошивка
Для настройки программной части воспользуемся платформой ESPHome. Она имеет встроенную поддержку управления светодиодами через аппаратные генераторы ШИМ-сигналов микроконтроллера ESP32 (платформа ledc).
Создайте новый проект и добавьте в YAML-конфигурацию следующий код:
esp32:
board: esp32dev
# Конфигурация аппаратных ШИМ-каналов
output:
- platform: ledc
pin: GPIO18
id: output_red
frequency: 1000Hz
- platform: ledc
pin: GPIO19
id: output_green
frequency: 1000Hz
- platform: ledc
pin: GPIO21
id: output_blue
frequency: 1000Hz
# Объединение ШИМ-выходов в одну RGB-ленту
light:
- platform: rgb
name: "Living Room RGB Strip"
red: output_red
green: output_green
blue: output_blue
default_transition_length: 0.8s
Параметр frequency: 1000Hz задает частоту модуляции ШИМ в 1 кГц, что полностью исключает видимое глазом или камерой смартфона мерцание света. Параметр default_transition_length: 0.8s обеспечивает красивое и плавное затухание и включение света при смене яркости или цвета.
Подключите плату к компьютеру по USB-кабелю, выполните компиляцию и запишите готовую прошивку в чип ESP32.
Интеграция с умным домом Яндекса
После завершения прошивки и подключения ESP32 к Wi-Fi сети выполните интеграцию:
- Откройте Home Assistant, устройство будет обнаружено автоматически. Нажмите «Настроить» и подтвердите добавление.
- Настройте интеграцию Yandex Smart Home в Home Assistant для трансляции сущности
light.living_room_rgb_stripв облако Яндекса. - Запустите приложение «Дом с Алисой», обновите список устройств. Контроллер появится в списке как цветная лампочка.
- Вы можете управлять подсветкой голосом через любую Яндекс Станцию: «Алиса, сделай ленту синей» или «Алиса, установи яркость подсветки на 50%».
TIP
При создании сценариев в Алисе вы можете комбинировать изменение цвета ленты с другими событиями. Например, настройте сценарий «Кино», при котором телевизор включается, основное освещение гаснет, а самодельный контроллер светодиодной ленты плавно включает приглушенный теплый свет с яркостью 15%.
NOTE
В отличие от сборки ИК-передатчика на ESP8266, управление светодиодами требует коммутации значительно больших токов, поэтому уделяйте особое внимание качеству пайки силовых проводников и надежности соединений клеммных колодок блока питания.
TIP
Если вместо обычной аналоговой ленты вы планируете использовать адресные светодиоды с анимационными эффектами, обратите внимание на руководство по интеграции адресных светодиодных лент WLED с Алисой.
Инструкция по настройке
Подготовка схемы и компонентов контроллера
Подготовьте плату ESP32 NodeMCU, три силовых n-канальных мосфета IRFZ44N, резисторы и макетную плату.
Сборка силовой части схемы на плате
Распаяйте мосфеты для управления каналами Red, Green, Blue светодиодной ленты через ШИМ-выходы ESP32.
Написание конфигурации и прошивка ESPHome
Создайте конфигурационный YAML-файл в ESPHome с платформой ledc и загрузите прошивку в ESP32 по USB.
Интеграция с Алисой и создание сценариев
Синхронизируйте ESPHome устройство с Home Assistant и пробросьте RGB-ленту в Дом с Алисой.