Ввиду домашней автоматизации, еще в прошлом году хотел собрать ёлочную гирлянду на ESP8266 и адресной ленте WS2811. На прошлый Новый год я не успел все заказать, зато в этом году подготовился заранее. Вот и выпускаю эту статью в начале ноября, чтобы и вы успели заказать все необходимое к новогодним праздникам.
Для начала давайте определимся, какие бывают варианты адресной ленты, точнее, в нашем случае, адресной гирлянды. Тут я приведу несколько самых популярных вариантов.
Адресные гирлянды
Адресные ленты
Итак, со светодиодными лентами мы определились, можно приступать к выбору остальных комплектующих. Для себя я выбрал вариант "Для новогоднего настроения", а также у меня было два куска по 5 метров дешевой ленты на WS2811. Ввиду того, что ленты работают на разных напряжениях, рассмотрим вариант как для питания 5В, так и для 12В.
Нам понадобится:
- ESP8266 nodeMCU
- Блок питания 5В 2А (1 мало, 3 много)
- Адресная гирлянда 5В (я брал 10 метров, 2 х 5)
По желанию, само устройство можно сделать более универсальным, и подключать к нему Адресную ленту, а в период новогодних праздников использовать как контроллер для гирлянды. Я пошел именно таким путем, поэтому нам понадобятся следующие компоненты:
- Все та же ESP8266 nodeMCU
- Блок питания 12В 3А
- Адресная гирлянда 5В, ну или любая другая из приведенных выше
- Понижающий преобразователь с вольтметром
Обратите внимание, что любая адресная лента имеет направление подключения. В местах подключения имеется стрелка.
Схема №1, 5В
Пойдем путем от простого, чтобы даже ребенок смог повторить. Подключаем все так, как показано на схеме.
Это была самая простая схема подключения, без возможности подключения 12 вольтовой ленты. Попробуем добавить возможность регулировать напряжение.
Схема №2, с понижающим преобразователем
В таком случае мы используем 12-36 В блок питания, а уже при помощи понижающего преобразователя (в данном примере уже с вольтметром) есть возможность понизить напряжение до 5 В, в зависимости от потребности ленты. NodeMCU при этом имеет собственный стабилизатор и имеет возможность питания 5-12 В.
Схема №3, мой вариант
Собственно, мой вариант ничем не отличается от приведенного выше, кроме понижающего преобразователя с вольтметром на разных платах. У меня в коробке с DIY пылились отдельно вольтметры и отдельно преобразователи. Поэтому я и пошел этим путем.
Кстати в этой схеме есть еще один плюс - намного удобнее в корпусе вырезать окошко для вольтметра.
Так как у меня валялся корпус уже с вольтметром от моей прошлой самоделки, я пошел именно этим путем. А вообще вольтметр особо не нужен. Ну только когда вы будете изменять напряжение, можно и мультиметром воспользоваться.
Схема №4 все в одном
Ну и для тех, кто хочет собрать лаконичное законченное устройство "все в одном корпусе", приведу и на этот случай схему подключения.
В этой схеме вам дополнительно может понадобится:
- Блок питания 12В 5А
- Гнездо 220 В
- Кабель питания 220 В
- Ну и коробочек, чтобы побольше влез блок питания.
Для удобства можно вывести внешний подстрочный потенциометр, для более удобной регулировки питания.
Ну и для полного эстетического удовлетворения ручка потенциометра.
Уже какой-то лабораторный блок питания получился, кстати есть такая статья, можно ознакомиться тут: "DIY Лабораторный блок питания". Возможно, будет полезно что-то взять именно с этой статьи.
Прошивка
Собрали мы схему, собственно, вообще не важно, по какому пути идти. Выбираем для себя более простой или более удобный. Теперь можно перейти к прошивке, тут также имеется несколько вариантов.
Вариант №1, прошивка Apple HomeKit ready
Вариант достаточно сложный, вам придется установить SDK для компиляции прошивки ESP8266 под Apple HomeKit. Повторятся не буду, как это сделать можно прочитать в мой одной очень старой статье. По итогу вы получите результат описанный в этом блоге.
Плюсы
- Поддержка Apple HomeKit и Siri из коробки.
Минусы
- Довольно муторная установка SDK.
- Нет возможности изменить количество светодиодов в ленте (только перепрошивка).
- Отсутствие MQTT.
Вариант №2, прошивка WLED
Есть более простой и, в то же время, более функциональный вариант. Но уже без HomeKit из коробки, при помощи сторонней системы можно, конечно, добавить. Прошивка WLED. А теперь обо всем по порядку.
Плюсы
- Очень простой способ прошивки.
- Поддержка MQTT, Philips Hue, Blynk.
- Возможность интеграции в Home Assistant, HomeBridge, nodeRED...
- Удобный web-интерфейс.
- Одноименное приложение на iOS и Android.
- Возможность создавать отдельные зоны и управлять ими по отдельности.
Минусы
- Нет возможности добавить в Apple HomeKit из коробки.
Так сказать, универсальное решение для работы с адресной лентой. Для себя я давно выбрал этот вариант, поэтому давайте приступим к самой прошивке.
Прошивка ESP8266
Чтобы прошить устройство, нам понадобится вот этот архив, в нем я оставлю все необходимое, чтобы у вас все заработало. Скачиваем архив и распаковываем. После чего подключаем ESP8266 к компьютеру при помощи кабеля USB - microUSB (блок питания при этом не подключаем к источнику питания).
Для начала нам понадобится очистить память ESP8266. Открываем папку "Чистая" и запускаем "FlashESP8266.exe", выбираем COM-порт нашей nodeMCU и файл прошивки blank_4MB, нажимаем кнопку "Flash". Ждем окончание процесса, он достаточно долгий, наберитесь терпения.
После завершения процесса, проще всего передернуть USB кабель на любой из сторон и запустить процесс прошивки. Для этого открываем папку "Прошивка" и делаем абсолютно все тоже самое по аналогии.
По завершению процесса прошивки, снова передергиваем USB кабель и смотрим появившиеся Wi-Fi сети. Должна появиться сеть WLED-AP, пароль от которой wled1234. После подключения к сети, нам необходимо перейти по адресу: http://4.3.2.1, попадаем в Web-интерефес устройства.
Первичная настройка
Настройка Wi-Fi
Первое, что необходимо - в верхней части экрана "Config" -> "Wi-Fi Setup" и вводим данные своей сети, после чего нажимаем кнопку "Save & Connect". Теперь можно отключать ESP от компьютера и подключать по схеме.
После чего смотрим в настройках роутера назначенный DHCP серверов, IP адрес. Можно воспользоваться браузером компьютера или приложением для телефона, ссылка на приложение для iOS.
Как пользоваться устройством рассказывать не буду, лучше расскажу, как подключить нашу Ёлку к Apple HomeKit.
Сегменты
Отдельно хочется остановиться на разделе Сегменты. Здесь вы можете поделить вашу ленту на отдельные сегменты, для управления ими по отдельности.
Например: Можно отделить Звезду ёлки от основной части гирлянды, тем самым, подчеркнуть уникальность каждого элемента украшения.
Или если вы используете ленту как подсветку комнаты, можно также задать направление анимации по сегментам.
Добавление в Home Assistant
Добавление в HomeBridge
С добавлением дела обстоят немного сложнее, при этом функционал получаем более ущербный, нежели в Home Assistant. Для добавления в HomeBridge, устанавливаем плагин homebridge-wled-simple. После чего, добавляем в наш конфиг в раздел accessory следующие стройки.
{ "accessory": "WLEDSimple", "name": "Moodlight Livingroom", "apiroute": "http://102.168.1.133" }
где, 192.168.1.133 - ip нашей ESP.
Добавление в nodeRED
Более подробно про прошивки и настройку WLED можно прочесть в отдельной статье на портале. В статье описан интересный способ интеграции ленты в nodeRED.
Испытания
Вот мы добрались до самого интересного. Тут предлагаю без текста, просто покажу как выглядит устройство у меня, и приведу несколько примеров красивых анимаций, которые отлично впишутся в новогоднее настроение. Как говорится - лучше один раз увидеть, чем 100 раз прочитать.
На момент написания статьи, адресная гирлянда ко мне еще не приехала, но как я уже говорил выше, адресной ленты в наличии много. Поэтому сейчас смотрим как выглядит все это на адресной ленте, позже обновлю статью, добавив в нее видео с гирляндой.
Адресная гирлянда
12.11.20 ко мне все же доехала гирлянда, и я решил дополнить статью отдельным блогом.
Светомузыка
19.11.20 Продолжение цикла, добавления функционала светомузыки.
В канун Нового года, когда уже будет стоять ёлка, сниму видео и опубликую в отдельном блоге. Я думаю, на ёлке это будет выглядеть гораздо симпатичнее.
Спасибо за подробную статью, мне как новичку данная статья бальзам на душу. Скажите, а в прошивке wled можно делать такие же, ну, типа объемные эффекты как у гайвера в прошивке для матрицы ? Планирую делать гирлянду на окно, хочется, что бы время было, бегущая строка и прочие эффекты. Спасибо!
не, расположение диодов только линейное, матрицей незя
А можно программировать подобные эффекты как у Pixelblaze - https://www.bhencke.com/pixelblaze">https://www.bhencke.com/pixelb...
Что то подобное - https://electromage.com/patterns/">https://electromage.com/patter...
Удалось что-нибудь выяснить?
Я сам не нашел информации, здесь пока молчат коллеги.
Насколько понял я, свои добавлять нельзя, можно видоизменять существующие - https://wled.discourse.group/t/custom-effects/354">https://wled.discourse.group/t...
https://electromage.com/patterns/">https://electromage.com/patter... - было бы круто реализовать такой репозиторий эффектов
Жаль что https://www.bhencke.com/pixelblaze">Pixelblaze проект не открытый...
Но патерны может создавать любой пользователь
Функционально, это самая продвинутая система управления диодами с пиксельной адресацией
Понятно. Уже поздно заказывать это решение)
Также неплохо Twinkly смотрится
Вот обзор: https://svetosmotr.ru/twinkly-girlyanda-obzor-umnoj-svetodiodnoj-podsvetki/">https://svetosmotr.ru/twinkly-...
Код на гитхабе открыт. Форкаете, добавляете свои эффекты, делаете пул реквест.
Большое спасибо за статью! Прям то что надо под Новый год. Планировал сделать гирлянду, и тут готовое решение!
Поправил
Не правильно выразился, 3А с избытком.
А зачем блок 12В брать и понижайку ставить? Можно же взять блок на 5В - от него и ESPха и лента будет питаться.
Лента у меня 12в, гирлянда что едет 5. Для универсальности
Спасибо Дмитрий!
К этой прошивке можно любую адресную ленту или адресную гирлянду подключить ?
я не пробовал четырехпиновую, а так любая, главное питание правильное подать
Проверил на гирлянде WS2801 четырехпиновой, все работает без проблем
Кстати проверил гирлянду на тоненьких проводах на устойчивость к статическому электричеству. Вывод, очень боится: жена прошла мимо и скакнула искра, два светодиода в середине сдохли. Пришлось выковыривать.
ввожу led all test проходит компиляция и в конце ничего...
картинок бы, компилировать в этой статье нечего.
Может неправильно выразился, как сделать такое устройство не используя raspberry и тп устройства, сдк так и не победил, соноф шьеться по статье https://sprut.ai/client/article/207">https://sprut.ai/client/articl...без проблем,с остальными так и не понял как прошить...
прописал в vagrant настройки wifi, устройство стало прошиваься и появляться в homekit но теперь не пойму какую прошивку использовать для ленты(((( и какой gpio задействован....
победил....пойду разбираться с эффектами.
доброе время суток, возник вопрос в правильном подключении внешнего питания. Собрал схему на nodemcu и герлянде со светодиодами в силикона. Так вот, проблема в чем, подклбчил по вашей схеме, только на прямую от блока +5В, резистор на 200ом, после прошивки лента заработала на все 50 диодов, поклацал ее, понравилась, но после того как отключил от юсб и подклбчил от блока питания, диод синий на плате горит, но герлянда нет(( хотя всё работает, и можно подключиться к плате.
если подключиться снова от юсб компьютера, всё работает и герлянда тоже, но если в этот момент подключить и внешнее питание, то герлянда зависает, пока не отключить его
Отвечу сам себе. По скольку строить схему с 2мя питальниками мне не выгодно, и герлянда должна быть полностью автономная, поставил просто диод на 2А на + с гирлянды(50шт). Имеем просадка 0.6, на работу не сказывается.
так же ещё кому вдруг полезно будет, герлянду ws2811 в силиконовых колпочках не работает с напряжением выше 5в при 5.1В начинает сбоить, при 5.4 просто не загорается. По этому лучше использовать на 4.5В, как раз диод в тему.
Везёт вам, я вот не могу решить проблему с синим диодом, собирал по второй схеме. И даже от компьютера питание на ленту не идёт. Хотя лента такая же как у автора. Чертовщина какая-то.
Если у вас на ch340, то там на внешку питание не идёт, нужно питать ленту, а с ленты уже модуль. Или сбросьте фото что у вас не получается
Гирлянда на ёлке
http://www.youtube.com/shorts/zR9KwhMS-WQ">Радуга
http://www.youtube.com/shorts/zR9KwhMS-WQ">Костёр
http://www.youtube.com/shorts/zR9KwhMS-WQ">Фейерверк
Как в приложении сделать переключение эффектов по очередности?
Лента 5В. При подключении по первой схеме идет просадка напряжения до 3,5 в и диод на плате гаснет (платы, я так понял, вырубается). Приходится плату питать отдельно от USB и соединять GND платы и GND ленты, тогда эффекты работают.
Используйте блок питания мощнее, от 2А. Или проводник большего сечения
БП 2А. Подключал ленту на 30 диодов (тестил). Провод медный, многожильный, каждая жила толщиной чуть меньше чем жила хорошего сетевого кабеля от компа.
Попробуйте подключить ленту без платы, есть ли просадка? Если нету, то поставьте диод после платы на ленту.
Повторил ваш проект - работает. СПАСИБО.
Как осуществить возможность автоматического повторения всех режимов по кругу или в случайном порядке?
Веб-интерфейс, PC mode.
На главной странице справа создаёте пресеты, задаёте time per preset/transition, можете включить preset cycle.
Config, LED preferences - чекбокс Set current preset cycle setting as boot default.
Заранее спасибо за ответ и несомненно большое спасибо за ваш труд.
Тут не совсем поддержка, а просто синхронизация с
Philips Hue
Кто как реализовал смену эффектов?
Я у себя сделал так. Вроде чтото работает
Создал сенсоры
- platform: randomname: Random Effect
minimum: 0
maximum: 82
- platform: random
name: Random palette
minimum: 0
maximum: 49
Создал автоматизацию
- id: Random_WLED_Effect
alias: Random WLED Effect
trigger:
- platform: time_pattern
seconds: /10
action:
- data_template:
payload: FX={{ states("sensor.random_effect") }}
topic: wled/all/api
service: mqtt.publish
- data_template:
payload: FP={{ states("sensor.random_palette") }}
topic: wled/all/api
service: mqtt.publish
Вы могли бы выложить свой скетч с изменениями,
очень хотелось бы иметь возможность автоматической смены эффектов.
Заранее благодарен!
Здравствуйте, купил всё, подскажите паять лучше к жилкам или к плате? Спасибо
Доброго времени суток!
Подскажите, а есть разница, какой
ESP8266 https://sprut.ai/s/q8d6rp">nodeMCU использовать?
По ссылке выше есть несколько вариантов.
С уважением!