С Наступающим вас, братья и сестры!
Как должна выглядеть новогодняя гирлянда? Как, как, да известно как, идешь в магазин, платишь тыщу и увесистый жгут проводов на сто-двести лампочек в твоих руках. Разглядывай, любуйся, получай ответ на свой вопрос, да, - и не забудь взять "маленькую", чтоб это дело "обмыть"))
Под каждый Новый год в технических советских журналах Юный техник, Радио, (иногда в газете Советский Патриот) в осенних номерах, печатались всевозможные схемки новогодних иллюминаций. У меня часто возникало желание повторить иную схемку, или что-то своё собрать, но пресса в провинцию с опозданием приходила, и поделки скучали на страницах журналов до следующего года. Просто времени не хватало. А там, то тиратронов МТХ-90 нет, нужных лампочек не достать, те же реле в дефиците постоянном. Люди делали программные автоматы на моторчике с редуктором, это, пожалуй, была одно из самых распространенных в то время технических решений под новогоднюю елочку. Но, на всех редукторов не настачишься, поэтому обходились без миганий, просто брали коммутаторные лампочки на 24 вольта, последовательно соединяли, красили их пастой от шариковых авторучек вперемешку с бесцветным лаком для ногтей.
В свободные от работы в нынешние посленовогоднишние выходные, по старой доброй памяти слепил таки микрогирлянду для настольной елочки. Суть - в каждой лампочке свой микропроцессор, пусть она живет и светится по случайному закону в гирлянде. Это нынче недорого. PIC12F675 стоит 35 рублей (от 32 до 48 руб на Али), RGB светодиод обойдется не дороже 5-ти рублей, резисторы, провода, мелкую моторику дрожащих с похмелья пальцев, и выходные праздничные дни можно в учет не принимать. В общем, получилась конструкция выходного дня из имеющихся в наличии комплектующих.
Рисуем схему лампочки будущей рождественской гирлянды. Резисторы необходимы, чтобы добиться приемлемых соотношений цвета после смешивания.
Номиналы резисторов зависят от конкретного светодиода, у меня в наличии оказались вот такие SMD с общим катодом.
Цветовая гамма формируется по простому принципу.
Т.е. цвета получаются смешиванием основных тонов RGB, для простоты реализации промежуточные комбинации с полутонами исключил.
Итак, начинаем со схемного решения; лампочка гирлянды содержит в себе процессор, RGB-светодиод и балластные резисторы. Как и по какому закону все это хозяйство будет светить? Генератор шума вещь трудоемкая, возьмем суррогат шума, только его подобие - псевдослучайную последовательность. Вот описание конфигурации Фибоначчи из "вики":
...рассмотрим 32-битовый сдвиговый регистр. Для него имеется отводная последовательность. (32,31,30,28,26,1). Это означает, что для генерации нового бита необходимо с помощью операции XOR просуммировать 31-й, 30-й, 29-й, 27-й, 25-й и 0-й биты. Полученный РСЛОС имеет максимальный период 2^32-1. Код для такого регистра на языке Си следующий:
int LFSR_Fibonacci (void)
{
static unsigned long S = 0x00000001;
S = ((((S >> 31) ^ (S >> 30) ^ (S >> 29) ^ (S >> 27) ^ (S >> 25) ^ S ) & 0x00000001 ) << 31 ) | (S >> 1);
return S & 0x00000001;
}
В начале работы в S однократно записывается 0x00000001, в последующем S будет меняться по алгоритму, эту же S возвращает процедура при обращении к ней. Последний бит в S будет "телепаться" по псевдослучайному закону, "1" - горит, "0" - не горит. Позицию в ряде 2^32-1 определяет слово инициализации (первоначальное значение S не должно быть равно нулю). Для каждой лампочки её следует выбрать индивидуально. Пока на выходе единица - диод светится одним цветом, при переходе через ноль цвет меняется по случайному закону (для определения комбинации RGB я брал трехбитную маску из той же процедуры - return S & 0x00000007).
Конструкция.
Процессор и светодиод с резисторами разместим на кусочке двухстороннего фольгированного стеклотекстолита.
В итоге получилась такая платка будущей гирляндной лампочки.
Опустим платку в термоклей, залив его предварительно в форму из вывернутой наизнанку резиновой амбушюры от микронаушников.
В итоге получилась такая "лампочка"
Теперь из них можно составить гирлянду.
Как программировал. Ведь для каждой лампочки надо поменять слово инициализации, также я делал небольшую разницу в задержках, чтобы не было одновременных включений-выключений. На платку с выводами под восьмивыводной планарный корпус 12F675 распаиваем проводники внутрисхемного программирования (на первом рисунке статьи - красным в кружочках). Потом, меняем параметры, компилируем и шьем hex в мелкосхему, просто прижав её к платке пальцем.
Запрограммированный процессор после этого можно впаивать в платку с диодом и резисторами, припаивать провода, окунать в термоклей и так далее.
Постоянная времени задержки - около 2 сек, т.е. случайные события по нормальному закону распределяются отталкиваясь от этого времени.
В итоге на праздничном столе оказалась не обычная китайская мерцалка, а вполне себе интересная гирляндочка от взгляда на которую глаз не устает; цвета меняются, выключение лампочек плавное, появилось содержание, если угодно глубина - все то, чему положено появляться в канун Рождества Христова! Понятно, что поделка страперская и отстала на лет двадцать, но блымкает по случайному закону, светится и создает рождественское настроение! Камера телефона в виджете ниже подвирает цвета и не передаёт всю загадочность происходящего, но она есть, присутствует, свидетельствую! (Видишь суслика? Нет. И я не вижу. А он есть!)))
С праздником Рождества и с Новым годом!
73!
P.S.
Ночью приехала родственница, говорит, вместо того чтобы с дороги пойти отдохнуть, сидела в халате час и как завороженная пялилась на гирлянду, говорит - слушайте, хорошая у вас рождественская инсталляция получилась!