Все началось с идеи управления нагрузкой не постоянного тока, а переменного. Очень хорошая идея была предложена Сергеем (Ghjuhfvvf) вот тут. В развитии этой идеи им были разработаны и построены схемы управления нагрузкой переменного тока как с пульта так и по сенсорному управлению (но это тема отдельного топика и вероятно Сережа созреет для того, чтобы выложить свою работу на форуме). Меня же, чисто из прикладных соображений, заинтересовала возможность управлять RGB светодиодной лентой. За базу был взят вышеуказанный алгоритм.
Сразу приношу извинения за возможные нерациональности в тексте программы. Я не программист и поэтому, вероятно, мне это простительно.
1 Схема.
Схема несложная. Включение ленты делалось через сборку Дарлингтона. Для ленты самое то (при токах нагрузки до 1А на канал или при длине стандартной ленты до 2м). Она инвертирует сигнал, что как раз кстати для ленты с общим анодом (а таких в RGB варианте большинство). Для алгоритма это означает что включать свечение можно единицами.
Scheme-RGB-ULN.zip (3875 Загрузок)
ULN2003.pdf (20418 Загрузок)
Дальше вариант для полевиков IRF640 (при больших токах нагрузки)
Scheme-RGB-IRF.zip (3533 Загрузки)
IRF640.pdf (18627 Загрузок)
2 Плата.
Печатную плату не делал — собрал на макетке. Но специально для Вас :), набросал в сплинте оба варианта для ULN и для IRF.
PBC-RGB-ULN1.zip (3494 Загрузки)
PBC-RGB-IRF1.zip (3756 Загрузок)
3 Алгоритм работы.
В самой программе алгоритм достаточно подробно описан в комментариях. Мне кажется все должно быть понятно. Дополнительно только скажу то, что ШИМ реализован программно, а поскольку программа не помещалась в память AtTiny2313A, то все коды кнопок пульта сразу были прописаны в алгоритме (без блока программирования кнопок). В программе также есть участок генерации случайных чисел. Я попытался в нем реализовать принцип М-последовательности. Похоже пока это лучший программный алгоритм генерации случайных чисел.
ULN-IRF-RGB-Controller1.zip (5793 Загрузки)
4 Реализация.
За основу экспериментов был взят китайский пульт от похожего контроллера.
На картинке пульта приведены коды всех кнопок для того, чтобы было легче разобраться в программе. Если кому понадобятся пояснения в последовательности записи кнопок в базу данных — спрашивайте. Вы можете заменить коды в программе на свои, считанные с пульта через UART вот этим: 074-Преобразователь IR-to-UART на ATtiny2313..
5 Прошивка.
С прошивкой все как обычно — описывать нечего…
RGB-Controller2.zip (3957 Загрузок)
085-fusebits.png (4074 Загрузки)
Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.
Как правильно прошить AVR фьюзы
6 Демонстрация работы контроллера RGB ленты.
Видео демонстрирует как работает контроллер с лентой в различных режимах.
7 Заключение.
Хотел бы поблагодарить за помощь и подсказки в разработке соавтору Ghjuhfvvf и всем активным участникам форума, в особенности SVN и anatoliy.
В планах сделать контроллер на 3 ленты на AtTiny2313A, управляемых с одного пульта. Всех заинтересованных прошу отписываться здесь или мне на почту (Kolini1967*ukr.net * заменить на @). Спасибо.
Здравия. А как прописывать коды кнопок в программу? Я вроде заменил
Word $9867,$40BF,$38C7,$D827,$12ED,$28D7,$8877,$2AD5,$F00F,$B04F,$A857,$B847,$906F,$30CF
Word $A05F,$E817,$48B7,$6897,$B24D,$50AF,$7887,$708F,$58A7,$02FD,$32CD,$20DF,$00FF
на свои
Word $DF20,$D728,$F708,$5FA0,$57A8,$7788,$9F60,$9768,$B748,$3FC0,$1FE0,$7F80,$FF00,$17E8
Word $FAAA,$EF10,$6F90,$AF50,$2FD0,$FAAF,$FABA,$FABF,$C82A,$CF30,$4FB0,$8F70,$0FF0
и… всё. Не работает. Ни на какие кнопки не реагирует. Если зашить старые обратно — работает. Пульт у меня почти такой же, чуть урезанный. Что я делаю не так?
p.s. сорри, не в той ветке первый коммент написал
Это не критично — файл все равно один и тот-же.
исправьте ссылку на scheme-RGB-IRF.spl7.
Текущая указывает на Scheme-RGB-IRF.zip (т.е. с большой буквы), а должно быть scheme-RGB-IRF.zip.
Кто-нибудь видел что-то похожее, но с обучением пульту ?
В разрезе темы AAL (http://www.getchip.net/topics/aal/) планирую сделать и модификацию для RGB-ленты. В новое устройство можно будет запихать все что угодно.
Присоединяюсь к просьбе предыдущего комментатора. Добавьте поддержку энкодера в прошивку, пожалуйста. Скажем, короткий клик кнопкой — вкл/выкл ленту с текущим цветом, при включенной ленте вращение энкодера — плавная смена яркости по кругу, при вращении с зажатой кнопкой — изменение яркости.
В алгоритм-билдере не силён, даже чистый асмовский листинг для меня более удобочитаем, так что вся надежда на Вас, уважаемый автор.
Здравствуйте!
Вопрос разработчику: а не могли бы Вы добавить еще управление энкодером?
Если обычные ленты то можно вот этим управлять http://www.getchip.net/posts/099-rasshirennoe-upravlenie-nagruzkami-pri-pomoshhi-ik-pulta-na-attiny2313/
А как насчет реализации 4 канала — для чистого белого цвета? Возможен ли такой вариант устройства???
Если я буду делать, то это будет на меге328 (чтобы можно было запустить на ардуине)
А на каком другом? Мега8-16 подойдет? Ибо если покупать что-то другое, тогда дешевле готовый купить.
Если делать на другом МК то туда можно и фильтры программные заделать — поэтому нет смысла делать гибрид.
Со временем реализую что-то для таких применений.
А еще чтобы не делать дополнительные ключи, чтобы пустить с выходов фильтров на входы тех ключей что есть?
хорошо, а если сделать, отдельную схемку, только чтобы этот контроллер включал её и выключал (вместо какого-то цвета)? Скажем микрофонный усилитель с ключами управления и фильтрами включается по какой-то кнопке?
В данном конкретном МК нет АЦП поэтому микрофон чисто физически не получится подключить. Это в любом случае должен быть другой МК.
Спасибо! Но это если ленты умные, а если глупые? То что делать? Я имею ввиду, если обычная лента РЖБ, на четыре контакта. Вот такое сделать http://olx.ua/obyavlenie/svetomuzyka-iz-rgb-lenty-muzykalnyy-pult-s-kontrollerom-IDgLO4g.html#3d2c5b6308 или к этому что в данной статье прикрутить микрофон, микрофонный усилитель, фильтра НЧ,СЧ,ВЧ и прицепить вместо какого-то цвета чтобы переключалось со стачиеской подсветки в динамическую, от сигнала микрофона на вход ленты, согласно частотам произвольно, или назначить каждый цвет для каждых частот например: зелёный — СЧ, красный — ВЧ, синий — НЧ.
Вот, например
http://www.getchip.net/posts/120-adjusty-strip-prodvinutyjj-indikator-urovnya-na-ws2812b/
А в каком утройстве есть такая возможность? Можно ссылку на схему прошивку описание, если не затруднит?
В этом устройстве нет.
Приветствую всех! А можно вопрос? Здесь уже кто-то интересовался, но я ответ не видел. Можно ли как-то прикрутить микрофон с пред.усилителем, чтобы помимо переключения пультом, можно было включать функцию светомузыки?
Собрал, все заработало, но увы устройство паразитно реагирует на пульт от телевизора LG… 🙁