Автор: 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 зеленых. В последовательности Б Б Б К З С К З С К З С или 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Мб.