![]() |
![]() |
||||||||||||
RGB люстра с пультом ДУ от ТВ
Автор: Deadhunters Дистанционное управление RGB люстрой. Где-то, года два назад, родилась у меня идея сделать люстру с дистанционным управлением. Тогда я только начинал разбираться в электронике, и далось мне это нелегко. Сделал корявую плату с релюшкой, которая включала и выключала лампочку (люстры тогда не было), а потом прикрутил туда же транзистор и белый огрызок светодиодной ленты. Вроде получилось, и плата успешно проработала пару месяцев, пока не произошел "БАБАХ" - взорвалась плата от зарядки телефона, которая питала все это дело. После этого была сделана вторая версия платы, которая проработала полгода. На борту уже была пьезо пищалка и пару светодиодов для различной индикации, реле было заменено на симистор в связке с оптосимистором - мой первый опыт применения данных компонентов, кстати. Питалось все это дело от миниатюрного китайского AC/DC 12В 400мА. И вот этой весной была приобретена люстра, и, естественно, моя плата туда не помещалась. Значит нужна новая плата, а еще ведь и люстра должна получиться самой оригинальной и максимально технологичной. Сказано - сделано! Глядя на люстру, сразу представил, какой она должна стать. Начало бессонным ночам было положено. Сперва необходимо было доработать "механику" - установить RGB светодиодную ленту 5050 в паре с обычной белой 5630, обе ленты наклеены на верхнюю часть люстры. Провода проведены через крепежные трубки: Были доработаны плафоны: внутри каждого, на сам патрон, была накленна RGB лента, просверлено отверстие в защитном колпачке, провода выведены наверх и подключены к соответсвующим пинам RGB ленты, а + 12в питания подключен к +12в питания белой ленты. Таким образом, мы используем всего 3 канала ШИМ и можем переключать подсветку между основной RGB лентой и подсветкой плафонов. После частичной сборки были проведены первые испытания. И дааа, результат был потрясающим, особенно порадовала подсветка плафонов. Ожидания оправдались, появился дополнительный стимул продолжить работу. Теперь необходимо было выбрать источник питания. И тут снова на помощь пришли китайцы - NES 15-12 (12в, 1.3А). БП был установлен в основание люстры, к сожалению, фото не сделал, но поверьте, он туда поместился. Пришлось, правда, удалить одну половину корпуса БП, т.к. он упирался в сам стержень с гайкой, на котором висит люстра, и теперь стержень частично заходит в пространоство БП (все масимально заизолировано). А как же вентиляция, спросите вы? Да, с вентиляцией дела не очень, но пока сбоев в работе не было (работает уже 3 месяца). После всей проделанной работы люстра была установлена на свое место, а мне оставалось самое сложное: придумать плату, которая поместится в центральную полусферу люстры, да еще и с огромным отверстием в центре, под центральный соединительный шток. Т.к люстра задумывалась максимально оригинальной и навороченной (в меру моей фанатазии конечно), было решено сделать возможным включение и отключение каждой лампочки по отдельности, + 3 канала ШИМ для RGB ленты, 1 канал ШИМ для белой ленты, коммутация +12в, обязательно нужна пищалка и индикация работы. Учитывая опыт с предыдущей платой, каждый раз, если хотелось добавить что-то новое в прошивку, приходилось снимать плату, было решено добавить USB интерфейс, для прошивки со смартфона/планшета. В итоге получилась такая вот схема: Не знаю, как так вышло, но забыл подключить RESET Атмеги к DTR CH340 через кондер 0.1мкФ. Обнаружилось это уже после того, как плата была распаяна. Видимо, все-таки нужно более внимательно проверять схемы, нарисованные после полуночи. Думаю, стоит сразу предупредить - схема ИК приемника была впоследствии изменена - был добавлен светодиод для индикации: Отдельно сделана схема силовой части: За небольшую "кривость" схем строго не судите. Делал для себя, темной ночью...
Теперь осталось то, чего совсем не хочется делать - трассировка платы... Т.к. данное количество компонентов не получалось уместить на одной плате, было решено делать две: управляющая и силовая, для коммутации исключительно лампочек 220В. Еще пару бессонных ночей и миру явилась 3D модель будущего творения: Плату делал обычным ЛУТом, на мой взгляд, получилось хорошо и с первой попытки. После напайки всех компонентов и прошивки бутлоадера через USBasp, я попытался прошить через microUSB, но вот тут и обнаружилась засада с DTR - 0.1 мкФ - RST. Ну чтож, значит будем шить по старинке - снимая плату. Представляю вашему вниманию свое творение: Фото силовой платы: Центральная часть люстры состоит из двух полусфер, разделенных между собой металоческой пластиной (на фото выше пластина попала в кадр). Силовую часть было решено засунуть за пластину, а управляющую снизу, чтобы был быстрый доступ. В качестве изолятора между платами и пластиной идеально подошли пластиковые крышки от чипсов "Pringles":
Т.к. я начинающий электронщик, то прошивку освоил писать только в Arduino IDE. Да, возможно, это не профессионально, но для моих задач этого вполне хватает. За основу были взяты наработки с предыдущей платы. Уже в процессе написания были придуманы новые фишки и возможности люстры. На отработку прошивки и устранение "багов" ушло около 2 недель. О прошивке
#include "IRremote.h" void setup() void loop() { Подключаем ИК приемник (я использовал VS1838) по схеме: Открываем монитор порта и поочередно нажимаем на необходимые нам кнопки, в терминал будет отправляться код нажатой кнопки. Стоит обратить внимание, что некоторые кнопки при долгом удержании начинают отправлять код FFFFFFFF, что воспринимаеться телевизором/приставкой как повтор нажатия, данная функция в основном реализована на таких кнопках, как Громкость, Перемотка и т.д. Записав все необходимые коды, в начало каждого кода необходимо подставить "0x". Например, код кнопки STOP у меня "E0E0629D", а в саму прошивку пишем "0xE0E0629D". Для управления люстрой у меня используется 26 кнопок, 10 из которых (цифры) используются в качестве ячеек сохранения пользовательского цвета. Чтобы впоследствии сократить размер прошивки приблизительно на 4кб, идем в папку с добавленной библиотекой (у меня это C:UsersUserDocumentsArduinolibrariesIRremote), находим файл IRremote.h, открываем и в самом начале видим протоколы каких производителей поддерживает данная библиотека, у нас пуль ДУ от ТВ Samsung, поэтому проставляем везде 0, оставляем 1 только в строке #define DECODE_SAMSUNG 1 - теперь библиолека IRremote работает только на прием кодов SAMSUNG: Когда я только начинал делать первую плату, столкнулся с проблемой - не работает ШИМ выход (функция analogWrite), при использовании библиотеки IRremote. Данная бибилиотека по умолчанию использует TIMER1, а функция analogWrite так же использует TIMER1. Нужно это исправить. Снова идем в папку с библиотекой и находим файл IRremoteInt.h в нем ищем строки: // Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, Nano, etc И меняем их на: // Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, Nano, etc Теперь для распознования ИК сигнала используется TIMER2, и наша функция analogWrite будет работать без проблем. Осталось только подставить в прошивку свои коды кнопок и можно прошивать. Готовая прошивка занимает 8098 байт. Режимы работы Сразу после подачи питания включается синяя лента, и начинает плавно разжигаться белая, затем поочереди, с задержкой 200мС, включаются 5 лампочек, и гаснут обе ленты. Далее мы можем упралять люстрой с пульта ДУ. Подробно каждое действие описано в самом файле прошивки, старался коментировать по максимуму. Вот полный список всех возможностей: 1) Плавная регулировка яркости белой светодиодной ленты 2) Отдельное включение любой из пяти лампочек 3) Регулировка яркости каждого RGB цвета 4) Плавное мерцание белой ленты (затухание и разгорание) с возможностью настройки длительности периода 5) Режим стробоскоп - белая лента часто вспыхивает, частота вспышек настраивается 6) Самостоятельная плавная смена цвета RGB ленты. Скорость смены цвета так же настраивается. Причем есть 3 режима смены цвета 7) Можно одновременно включить белую ленту сверху на любую яркость и включить любой цвет плафона 8) Имеется 9 ячеек памяти для настройки своего цвета и сохранения в EEPROM 9) Пъезопищалка и индикация работы и приема сигнала с пульта ДУ 10)Красивый старт люстры при включении выключателя (всегда перед уходом из дома просто выключаю выключатель, а то мало ли..) 11) Возможность отключения пъезо с сохранением состояния в EEPROM 12) Ну и наконец, самый главный плюс - не нужно ходить к выключателю, т.к. пульт от телика всегда под рукой. Даже если произойдет самое страшное, и пульт останется на столе, то эмулятор данного пульта есть на смартфоне с ИК портом). Фото работающей люстры: Видеодемонстрация работы: P.S Это моя сама первая статья на просторах рунета. Всем спасибо за внимание! Все вопросы в Форум Либо в личку ВК
Файлы: Все вопросы в Форум.
|
|
||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |