Найти тему
1,2K подписчиков

Умный декор: оживляем интерьер

127 прочитали

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

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.

Полгода прошло, несмотря на то, что RGBW-контроллер был куплен примерно тогда же, когда я опубликовал статью, и даже собран домик был собран ещё в конце весны. Но.

Лень была. Не статью написать, нет. Букхолдер довести до ума.

Началось всё с того, что контроллер работает от 5 вольт. Светодиоды столько не едят. Поэтому они сгорели - сначала фонрь у кафе, потом уличный фонарь в глубине. И если первый починить недолго - благо радиомагазинчик находится в соседнем с моим офисом здании, то с красивыми миниатюрными фонарями как-то не заладилось. В итоге задачка была отложена на неопределённое время.

Где-то в середине лета я вновь вытащил эту тему из бэклога, пошарился на алиэкспрессе и заказал упаковку фонарей. Букхолдер пришлось разобрать, чтобы перепротянуть провода и поставить новые огни. Проблему перевольтажа решил "наскоком" - снизил максимальную яркость на каждом канале. Собрал, запустил - проработало с месяц и снова сгорел фонрь над кафе. Тогда я задумался над резисторами. И снова одолела лень.

В сентябе заказал десяток резисторов на 100 ом, недельку помариновал на своём рабочем столе и наконец-то взялся за паяльник, попутно выяснив, что уличный фонарь в глубине тоже когда-то успел сгореть. Почему ни разу не сгорела лампа под "потолком" - загадка. Но ладно.

Домик снова разобран, уличный фонарь заменен, лампа у кафе тоже, на каждый канал припаян резистор - работает. Вот уже две недели как работает. Букхолдер поставлен на своё место, хотя так и не собран обратно на 100% - жду, может опять начнут лампы перегорать и снова надо будет разбирать и перетягивать.

Надеюсь нет.

Подключение

Для организации трёх отдельных источников света был выбран контроллер RGBW MagicHome, так же питающийся от блока питания в 5 вольт. Протянуты провода из-под потолка (шкаф высотой 2,5 метра, 220в находится в небольшом зазоре между шкафом и потолком) по дальней стенке шкафа, выведены на полку, где стоит букхолдер. В качестве блока питания взята обычная старая зарядка от телефона с USB на 1A. Можно было поискать и н 0,5А, но по сусекам такого не нашлось.

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-2

На гребёнку контроллера на + припаяны все три "красные" провода от светодиодов, к - через резисторы подпаяны "чёрные" провода. Ничего экстраординарного, всё на уровне школьного кружка радиолюбителей (хотя, полагаю, сейчас есть кружки и покруче, со всякими программируемыми ардуинами).

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-3

Контроллер подключен в приложение MagicHome, проверен, и прокинут в Home Assistant точно так же, как и предыдущий. Свойств у устройства будет побольше:

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-4

Методом научного тыка найдены рабочие парааметры Operation Mode и Wiring.

Помимо простого вкл/выкл можно управлять цветом и задавать эффекты:

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-5
Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-6

Но нас эффекты не интересуют, поскольку у нас не единая цветная подсветка, а три разных канала, припаянных к R, G и B. Поэтому включать ту или иную лампочку мы будем непосредственно изменяя уровень одного из этих каналов.

Автоматизация

Самой большой сложностью в оживлении игрушечного кусочка улицы стали именно алгоритмы. Когда и что должно включаться. Хотелось именно живой жизни.

В первом варианте было сделано так:

  • фонарь под потолком включается при наступлении темноты;
  • лампа у кафе включается, когда горит свет на кухне;
  • уличный фонарь включается, когда горит свет в детской комнате;
  • и всё это выключается, когда все уходят спать, чтобы не горело впустую всю ночь.

При таких условиях действительно имтируется какая-то жизнь, зависимая от происходящего вокруг. Но не сильно, потому что в реальной жизни, конечно, все фонари просто горят когда темно. Кроме кафе, которое закроется, ну, например, в полночь. И тогда этот кусочек пространства будет чуть менее статичен чем просто полностью.

Поэтому в финальном варианте подход к огням был пересмотрен в пользу практичности: лампа у кафе горит при включенном свете в детской, лампа под потолком зависит от света в санузле, а уличный фонарь завязан на спальню. Связи выбраны чисто по направлениям. Глядя на огни в гостиной можно понять, в каких помещениях, которые из гостиной не видны, горит свет. И заодно понять - нужен ли он там и не пора ли его выключить. Практично и удобно. И красиво.

Как это реализовано?

Для каждого светодиода создан input_number с неким максимальным значением, с помощью которого ограничивалась максимальная яркость:

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-7

Был написан скрипт, который собирает значения всех этих элементов и включает RGBW-контроллер с этими значениями:

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-8

Создана управляющая автоматизация, срабатывающая при изменении одного из этих значений и выполняющего скрипт.

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-9

Если все три значения меньше 1, то RGBW-модуль просто выключается:

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-10
Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-11

Теперь можно управлять огнями вручную, передвигая ползунки:

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-12

Осталось добавить жизнь: отслеживаем состояние интересующих нас объектов:

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-13

Никакие состояния не мониторим, просто факт что что-то изменилось. И превращаем статус каждого из этих устройств в 0 или 1, помноженные на 100 (которое на текущий момент является максимальным значением каждого из input_number):

Полгода прошло с тех пок, как я писал про управляемую светодиодную подсветку на базе диммируемого контроллера MagicHome.-14

Всё. Когда включается или выключается свет в одной из комнат, включенных в мониторинг, срабатывает эта автоматизация и превращает вкл в 100, а выкл в 0 соответствующего ползунка.

Предыдущая управляющая автоматизация тут же срабатывает на изменении одного из ползунков и выполняет скрипт установки значений RGBW по этим ползункам. Загораются или гаснут лампы.

Улица оживает.

Магия.