Радиотехнический прогресс изобрёл очень классные чипы со светодиодами. Суть в том, что они соединяются последовательно и для того, чтобы зажечь произвольный светодиод в произвольный цвет произвольной яркости в цепочке любой длины требуется линия всего в три провода — земля, питание, сигнальный. Это позволило очень резко рвануть всякое светооформительство вперёд.
Есть варианты в виде готовых лент, есть на жёстких креплениях, есть — собранные в матрицы.
Ну и я на пробу взял простенькую метровой длины ленту с 60-ю светодиодами:
Cheap led pixel controller, Buy Quality led pixel screen directly from China led pixel Suppliers: Related Items-----------------------------------------------------------------------------------------------
// www.aliexpress.com
Цены разные в зависимости от длины (1-5 метров), плотности светодиодов (30, 60 или 144 светодиода на метр) и степени защищённости (устойчивость к механическим повреждениям, водостойкость и т.п.) — по нынешнему курсу от 350 до 2500 руб. Я брал вариант метровый, 60 светодиодов и умеренная прочность без водозащиты (IP30) за $7.98, что-то около 500 рублей.
Сегодня посылочка дошла до дома (с момента заказа — 31 день). Сразу воткнул в Arduino (помните, что ленте нужно внешнее питание 5В! Х.з., какой ток могут потреблять 3x60 светодиодов на полной яркости все разом, так что я запитал сразу от лабораторного БП), порылся в примерах, пошли все варианты с этой страницы:
Getting started with Arduino and a WS2811 or WS2812 LED strand using NEOPixel by AdaFruit or FastSPI_LED (FastLED).
// www.tweaking4all.com
Особенно из готовых демок понравилась Adafruit_NeoPixel / strandtest. Кстати, библиотека доступна в менеджере библиотек Arduino IDE, так что вручную ничего качать/ставить не нужно.
Принцип управления простой — по управляющему проводу шлётся цепочка из пакетов по три значения яркости. Каждый светодиод «откусывает» себе первый пакет, а остальное шлёт дальше. Поэтому цепочка может быть любой длины. Правда, при очень большой (многие тысячи светодиодов) падает частота обновления. Но тут в бонус то, что каждый светодиод светится автономно, нет никакого мерцания развёртки. Можно даже выдернуть Arduino из работающей ленты, она просто перестанет обновляться, эффекты остановятся, но так светиться и останется.
Но ломать голову этим не нужно — в библиотеках готовых просто указываешь, какой светодиод и как зажечь. И всё.
Светодиоды реально яркие, жена даже потребовала делать тусклее в несколько раз. Цветовые эффекты понравились всем членам семьи
Ленту можно резать в любом месте, только придётся провода подпаивать (так она продаётся законченным модулем, с разъёмами):
Кроме прямого украшательства ёлок и праздников можно заняться всякой домашней индикацией. Типа, имитировать утром рассвет, повесив за окном и плавно меняя цвет от красного до небесно-голубого. Вечером — закат. Индицировать какие-то события, типа прихода почты и т.п. Буду пробовать сопрягать с ESP8266 и управлять по Wi-Fi
Хотя, говорят, что ESP8266 плохо подходит для реалтайма (анимации) — иногда затыкается, видимо, в своих Wi-Fi делах. Тогда можно попробовать вешать связку Arduino Nano + ESP8266. Или Arduino Nano и какой-нибудь модуль связи, но к нему придётся делать ответную часть на компе.