Подсветка WS2812 ESP8266

18197

Сегодня поговорим о создании простой, бесполезной но очень эффектной штуковины.

Это будет подсветка на ленте WS2812 и управлением через WEB интерфейс.

Светодиодная лента на базе WS2812 очень интересная штука для творчества, особенно в дизайне интерьеров. Она представляет из себя цепь последовательно включенных управляемых RGB светодиодов со встроенной микросхемой WS2811. Каждый светодиод не имеет своего конкретного адреса. Контроллер посылает пачку пакетов по 24 бита в нужной последовательности. Каждый следующий светодиод откусывает свой первый пакет, а остальное пересылает дальше по цепочке.

Мы не будем делать ambilight — это тема на будущее. Сегодня просто декоративная подсветка. Принципиальным было управление с компьютера. Для меня самым очевидным было применение ESP8266 и запуск на нем WEB интерфейса. Это очень удобно т. к. кросс-платформенно, без проводов и можно управлять с любого устройства.

Железная часть

Комплектующие:

  • светодиодная лента WS2812B (model:BTF-5V-60L-B);
  • в качестве контроллера у нас ESP8266 распаянная на китайском аналоге Wemos D1 mini;
  • кусок макетной платы подходящего размера;
  • резистор 470 Ом;
  • пара электролитов на напряжение не менее 6,3V и емкостью побольше (в моем случае - 220Uf на 3.3V линию и 1200Uf на 5V);
  • клеммы и гребенка 2.54м -  для удобства подключения;
  • блок питания 5V 2A — можно взять зарядку от смартфона;
  • провода достаточного калибра.

Сборка конструкции не должна вызвать у вас трудностей. Единственная необходимая деталь это резистор примерно 470 Ом на шину данных. Остальное можно сократить.
Конденсаторы по питанию можно не ставить, но они сильно повышают стабильность работы системы в целом, особенно тот что по линии 3.3V
Клеммники, гребенки для подключения ESP8266, да и макетная плата нужны лишь для удобства. По большому счету — можно блок питания припаять напрямую к ленте и модуль управления подцепить на тонких проводочках туда же.

Блок питания большой мощности не нужен, 2A хватит. Т.к. у меня встроенный в стол мощный БП 12V 20A, то я запитал подсветку мониторов от него через преобразователь напряжения XL4015. Вы же можете взять любую зарядку на 5V. Главное не пропускайте ток через micro USB контроллера, подпаяйте питание напрямую от БП к ленте.
Ленту режем на куски и приклеиваем на клей Момент, для надежности. Следите за направлением ленты.

Программная часть

Тут мне повезло и удалось найти красивое и готовое решение: WS2812 FX Library for Arduino and ESP8266. Просто загружаем пример из библиотеки и все работает. Распишу подробно и по пунктам.

Скачиваем Arduino IDE c официального сайта и устанавливаем на свой ПК.

Настраиваем поддержку ESP8266: запускаем среду разработки и тут же идём в Файл/Настройки Вставляем ссылку (http://arduino.esp8266.com/stable/package_esp8266com_index.json) в поле «Дополнительные ссылки для Менеджера плат:» и жмём «OK».

Потом идём Инструменты/Плата:/Менеджер плат, находим там «esp8266 by ESP8266 Community» и устанавливаем последнюю версию. Все теперь вы можете прошивать эти Wi-Fi модули.

Дальше скачиваем библиотеку WS2812FX по ссылке (https://github.com/kitesurfer1404/WS2812FX). В Arduino IDE идем Скетч/Подключить библиотеку/Добавить .ZIP библиотеку и загружаем ранее скачанную библиотеку WS2812FX.

Теперь открываем Фаил/Примеры/WS2812FX-master/esp8266_webinterface и правим в нем SSID и пароль для подключения к вашему роутеру.

#define WIFI_SSID "YOURSSID"
#define WIFI_PASSWORD "YOURPASSWORD"

Тут можно поменять пин данных. У нас подключено к D4 на плате Wemos D1 mini, что соответствует GPIO2.

#define LED_PIN 2 

И посчитайте общее количество светодиодов в вашей подсветке, чтобы правильно заполнить значение.

#define LED_COUNT 24

Так-же можете поиграться с другими настройками: можете задать статический IP, дефолтный режим скорость анимации и т. д.

Поздравляю, ваше устройство готово к работе. Подавайте питание и через секунду лента должна засветиться рыжим цветом. Дальше через браузер заходите на WEB интерфейс устройства и можете управлять цветом и режимами работы.

Комментарии

Комментарии


  Константин
 
09 Января 2020 
Спасибо тебе, добрый человек, все понятно объяснил, получилось с первого раза
  Виктор
 
20 Июня 2020 
А извините, на какой адрес заходить, что бы войти в WEB интерфейс?
  Андрей
 
03 Сентября 2021 
Заливаем готовую wled - и наслаждаемся. Куча эффектов, веб-интерфейс, приложение для ios/android, интеграция в умный дом, макросы, цветомузыка с ledfx.
  Юрий
 
11 Октября 2022 
Как сделать, что б разные esp с лентами синхронизировались при выборе одной?
  джон
 
24 Января 2023 
как зайти то на веб интрфейс??????
  Макс
 
26 Мая 2023 
После прошивки откройте монитор порта ( значок лупы в правом верхнем углу) там покажется IP вашей ESP после соединения с роутером, вбиваете его в браузер и вуаля.. интерфейс открыт!
  Мирон
 
26 Апреля 2024 
Как убрать задержку в - 10 секунд при включении?
  Мирон
 
26 Апреля 2024 
Точнее, сделать базовый статичный свет при включении, а то без коннекта к точке доступа он вообще не запускается :(