Несколько лет назад в среде программистов ходила поговорка о том, что «каждый программист обязан написать свои часы». Сегодня более актуальным выражением будет «каждый программист обязан написать свой контроллер адресной гирлянды». С появлением адресуемых полноцветных контроллеров светодиодов типа WS2811 и WS2812, наши новогодние ёлки заиграли новыми красками. Есть множество самодельных конструкций, позволяющих за пару долларов спаять свой собственный контроллер. Однако, прежде чем начать рассказ о своём контроллере, я хочу порассуждать о потребительских свойствах новогодней гирлянды в принципе.
По моему скромному мнению, увлечение «плюшками» гирлянд привело к общей деградации взглядов на новогоднюю гирлянду вообще и на многоцветную адресную в частности. Давайте поиграем в логическую игру: представим себя на месте рядового человека в домашней обстановке перед новым годом, и попробуем узнать его требования к светящемуся украшению новогодней ёлки.
Чем мы занимаемся вообще перед новым годом? Конечно, приготовлениями к празднику. Холодильник набить, стол организовать, детей занять, салаты порезать в помощь супруге (если позволит). В этом ворохе забот есть ли место программированию или хотя бы сложному управлению огнями на ёлке? Конечно же, нет. Даже телевизор в это время включён в режиме фона, показывая «С лёгким паром». Отсюда вывод первый: новогодняя гирлянда должна работать без сложного управления, по принципу «включил и забыл».
Однако, наша ёлка обязана поддерживать новогоднее настроение, ведь именно для этого мы её поставили и нарядили. Если лампочки на ёлке просто светятся, это не слишком радует. С другой стороны, бестолковое моргание лампочек вызывает скорее головную боль, чем новогоднее настроение. Получаем второй вывод: огни на ёлке должны вызывать различные новогодние ассоциации. Где их нам взять? Конечно же, из детства, из наших любимых новогодних мультфильмов. Там ёлки с огоньками вызывали у нас самое восторженное впечатление. Также, скорость мерцания огоньков на ёлке не должна быть слишком быстрой. Иногда неторопливое, плавное изменение цветов создаёт гораздо большее впечатление, чем быстрое бестолковое мерцание. Каждый цветовой эффект должен вызывать определённые ассоциации, быть прочитан в подкорке мозга. Тогда это будет не ширпотреб, а произведение искусства.
Далее. Давайте проанализируем поздний вечер и похмельное утро. Насколько я знаю, все выключают ёлку на ночь, чтобы не мешала отдыхать. А если использовать гирлянду в режиме ночника? И полезно, и приятно, и не раздражает мерцанием.
Отдельное слово хочу сказать о способе управления такой гирляндой. Он должен быть доступен не только взрослым, но и детям. Управление должно быть интуитивным и несложным, чтобы любой человек без инструкции сразу смог добиться желаемого от гирлянды. При таком подходе не подходит управление с экрана телефона. Пульт дистанционного управления неплох, но он может потеряться или в нём сядет батарейка. С моей точки зрения, прекрасно подойдут одна или две кнопки на самом блоке управления.
И в конце нашей логической игры рассмотрим дополнительные возможности нашей гирлянды, «плюшки». Нужен ли нам режим дискотеки? Скорее нет, чем да. Зачем нам десять тысяч бесполезных эффектов? Тоже скорее незачем. С другой стороны, однообразные эффекты очень быстро набивают оскомину. Сделать нашу гирлянду неповторимой поможет вариативность эффектов. Каждый раз эффект вроде бы и тот же, но выглядит по-другому. И приятно, и глаз не мылит. Кстати, цветовая палитра также важна. Красно – белые лампы однозначно создают новогоднее настроение, в отличие от зелёно-фиолетовых. Также важны цвета соседних ламп в гирлянде. Есть цвета, которые гармонируют друг с другом, например красный и зелёный, или красный и оранжевый. А есть совсем не сочетающиеся цвета, например розовый и жёлтый. Надеюсь, теперь проблемы новогодней гирлянды стали для вас более понятны.
Итак, в результате наших рассуждений мы определили, какой блок управления лучше всего впишется в празднование нового года:
- Блок управления расположен на самой гирлянде под ёлкой.
- Простое управление одной или двумя кнопками.
- Имеет цветовые эффекты, рассчитанные на расположение гирлянды на ёлке.
- Цветовые эффекты должны вызывать ассоциации с празднованием нового года.
- Блок должен работать без постоянного контроля, в то же время не надоедая однообразием.
- Палитра используемых цветов должна соответствовать новому году, но быть разнообразной.
- По возможности блок должен поддерживать режим ночника.
В результате таких рассуждений я начал проектировать пульт управления адресной гирляндой. Выглядит как небольшая коробочка с кнопкой (к сожалению, в продаже нет подобных корпусов с двумя кнопками).
Блок поддерживает управление как одной стандартной гирляндой WS2811 из 50 лампочек, так и двумя последовательно (100 ламп). Эффекты при этом изменяются для лучшего соответствия размеру гирлянды. Также блок может управлять лентой из 50 или 100 светодиодов типа WS2812 с другим кодированием цветов. Большая часть цветовых эффектов плавные, не напрягают глаза. Однако, есть и динамические эффекты, что оживляет ёлку.
Некоторые названия эффектов помогут представить их вид:
- Несколько вариантов бегущих огоньков, оставляющих за собой угасающий цветной след.
- Имитация старых релейных гирлянд из 60-х годов.
- Ночное небо с мерцающими звёздами.
- Имитация настоящих свечей.
- Фейерверк.
- Различные варианты радуги.
- Ползающая гусеница.
- Бегущие огоньки соединяются в цепочку.
Всего эффектов на настоящий момент 18. Их количество может увеличиваться с развитием проекта.
Некоторые эффекты имеют жёстко заданные, специально подобранные параметры для создания новогоднего настроения. Эти эффекты тщательно подбирались всей нашей семьёй: сочетание цветов, скорость изменения яркости, движение огоньков. Другие эффекты, наоборот, имеют переменные параметры, изменяемые при каждом запуске, что делает гирлянду ненавязчивой и вызывает желание за ней наблюдать. Кстати, гирлянда из голых светодиодов, это просто кошмар для глаз. Обязательно нужны светорассеиватели, хотя бы из шариков от настольного тенниса. Это важно. Для поддержки масштабирования гирлянды все эффекты имеют разные настройки: для пятидесяти и для ста ламп в гирлянде.
Управление эффектами не идеальное, но очень простое. Один раз нажал на кнопку – включился следующий эффект, два раза – включился режим ночника. Ещё два раза нажал – ночник выключился. По умолчанию эффекты переключатся автоматически через определённое время. Если вам захотелось оставить текущий эффект постоянно – удерживайте кнопку больше двух секунд. Возобновить переключение эффектов – снова подержите кнопку пару секунд.
Отдельно о режиме ночника. В этом режиме текущее состояние гирлянды останавливается, и все лампочки загораются на 1/8 от максимального значения. Этот уровень подобран для комфортного ночного освещения. То есть вы сами можете задать цвет ламп и рисунок гирлянды – ночника.
А что внутри?
Блок построен на микроконтроллере STM32070CBT6 и преобразователе уровня SN75176 для согласования 3.3В питания контроллера и 5В питания ламп.
Питание блока может быть как от 5, так и от 12 вольт. Для этого нужно подпаять красный провод разъёма к соответствующему контакту платы:
На плате есть контактные площадки MODE. Разомкнутое состояние – 100 ламп, замкнутое – 50. Замкнуть можно каплей припоя. Настройка управления лампами типов WS2811 и WS2812 через состояние контакта X2. Разомкнутое состояние – WS2811. Замкнутое состояние на общий провод (правый контакт MODE) – WS2812.
Немного о питании гирлянды. Первое – уже не один мой знакомый покупает гирлянды на пять вольт под видом двенадцати вольтовых. Первое же включение таких гирлянд выведет из строя всю гирлянду. Запомните: лампы из одного трёхцветного светодиода всегда рассчитаны на пять вольт! Такая лампа выглядит примерно так:
Гирлянды на двенадцать вольт всегда имеют три трёхцветных светодиода на плате. Они выглядят по-другому, так:
или так:
Ток потребления гирлянды из 50 ламп зависит от цвета, которым светятся лампы. Самый большой ток при белом цвете всех ламп. Он может достигать трёх ампер. В среднем гирлянда потребляет 1 – 1,5 ампера. Поэтому я предлагаю питать гирлянду через отдельные, предназначенные для этого провода, а блок управления подключать через не нагруженный сигнальный разъём. Блок питания должен обеспечивать по 3 ампера на каждую используемую гирлянду. Также из-за большого тока потребления питание каждого сегмента желательно дублировать отдельными проводами, хоть это и неудобно.
Комментариев нет:
Отправить комментарий