RGB светильник на светодиодах



Автор: Demson

Интерьерный RGB + W светильник

Появилась у меня мысль создать в комнате несколько светильников точечного света. А сколько и каких модификаций? А сколько создам. Очевидной стала необходимость со временем расширять базу светильников. Решено было использовать МК. И базовым МК стал ATMEGA 8. В часности из-за того что там есть 3 шим канала. Вот ими то и надо управлять. Связь с каждым светильником будет осуществиться по uart. Пока это rs232. но как только возникнет необходимость можно перевести схему в 485 интерфейс, где уже можно тянуть сеть на большие расстояния. В роли передатчика решено было выбрать проект avr 309 поскольку все уже скомпилировано и нет необходимости лепить свои драйвера.



Шина связи

Как связать все и чтобы оно при этом быстро работало? Я обошелся всего 5 проводками: +, -, RX, TX, LINE. Как только на проводе line устанавливается логическая 1 устройство принимает по uart байт. Этот байт сравнивается с переменной ID – индетефикатором устройства(светильником). Если ID равен принятому байту, тогда начинается прием данных. В устройстве заложен прием 4 каналов. Красный Зеленый Синий (Используется шим) и белый (2 положения вкл. и выкл.). МК позволяет существенно расширить количество каналов (при необходимости).

Как передает хост:

1. Сброс линии - отдельный провод
2. Передача адреса устройству. 0-255 - RS232
3. Блок данных предназначенных устройству - RS232

Таким образом мы имеем 255 устройств на 1 линию. А линий может быть много.

Как принимает устройство:

Ждем, когда на линии появится 1 и по RS232 будет передан адрес устройства.
Если он равен ID то начать прием данных лишние данные будут проигнорированы.

Скорость работы UART выбрана 56000 бит/сек. Этого будет вполне достаточно для наших целей. Сам же МК в устройстве тактуется от внутреннего кварца с частотой 8 МГц, что в свою очередь тоже влияет на скорость передачи данных.

Также светильник оснащен дополнительной функцией, это подсветка при подаче питания. Как это понять? При подаче питания МК устройства проверяет состояние линии, если она не сброшена, тогда включается подсветка (3 белых светодиода).



Вот так выглядит плата. Резисторов очень много - это обусловлено тем, что нагрев каких-либо частей устройства недопустим. Рядом дерево все-таки!
Я сделал 3 платы, 3 светильника. В двух из них стоят яркие светодиоды: 3 белых, 3 красных, 3 синих (рассеивающих), 3 зеленых. В последовательности Б Б Б К З С К З С К З С или W W W R G B R G B R G B.

Вот так конструкция выглядит сзади:



Согласитесь, красиво отражаются лучи светодиодов на потолке. Ночью выглядит потрясающе!





Программа управления написана на бейсике. 3 канала + белый. Имеется кнопка сброс, которая переводит все каналы в ноль.

 

 

Светомузыка

Спасибо Сергею за программу, которая позволяет сделать из простого светильника светомузыку.
1 канал - красные 0-255
2 канал - зеленые 0-255
3 канал - синие 0-255
4 канал - белые 0-255
*белые включаются только после значения 127
0-127 выкл. 126 вкл.





Таким образом, к устройству можно подключить новогоднюю гирлянду, лампочки - да все что угодно. Протокол связи очень гибкий.
Но RS-232 не предназначен для передачи данных на большие расстояния, поэтому не стоит делать расстояние от передатчика до приемника большим. У меня оно составляет 2.4 м. Да, бывают ошибки при передаче больших чисел 240-255, но они не критичны для данной конструкции. Если хочется больших расстояний, то конвертер RS232 - RS485 вам поможет.

USB RS232 - схема принципиальная, прошивка, драйвер для Windows
RGB светильник: плата, прошивка, исходники
Visual Basic программа + исходники
Светомузыка (svetomania)
И на всякий случай все в одном архиве ~ 1Мб.



DECADALAB ALFA