В преддверии новогодних праздников как-то захотелось порадовать себя и близких чем-то необычным. Вот решил сделать иллюминацию в комнате. Традиционно для украшения комнаты и елки мы используем гирлянды. С обычными лампочками накаливания или нового варианта – светодиодные. Китайцы завалили нас этими гирляндами так, что редко можно найти квартиру, где бы не имелась парочка таких гирлянд. Как не крути, но тягаться с китайцами по стоимости, той же новогодней гирлянды, ну никак не получается. Значит, если нельзя сделать дешевле, сделаем лучше! Что же можно сделать лучше того, что есть в продаже? В большинстве своем дешевые китайские гирлянды имеют 4 канала с несколькими предустановленными программами эффектов, а из управления имеется одна кнопка. В качестве альтернативы мы сделаем 12-ти канальный генератор эффектов, с возможностью вручную создавать свои эффекты, при помощи специальной программы и сохранять их в EEPROM контроллера.
Поначалу устройство планировалось как простой генератор эффекта типа бегущих огней, но в процессе реализации проекта, меня зацепило и понесло (слишком много памяти в ATtiny2313 для такого устройства :), а незадействованная память действует на меня как красная тряпка). Я подумал, а почему только бегущие огни? А если, вдруг, захочется организовать красивую подсветку полочки с фотографиями или световое сопровождение компьютерных игр или красивое освещение комнаты или еще какие-то появятся идеи визуальных эффектов? В итоге родилось довольно интересное, многофункциональное устройство с возможностью гибкой настройки и управления, как с компьютера, так и переключателями на самом устройстве. Но времени на это я потратил гораздо больше, чем планировал. Поэтому извините, что НЕМНОГО 🙂 запоздал к новогодним праздникам, но зато Вы получите устройство, которое может пригодиться не только под Новый Год.
1 Схема устройства примитивна, проста в повторении и содержит минимум деталей:
063-Effector-Shem.zip (8064 Загрузки)Плату устройства
— несложно повторить (а если понадобиться в других габаритах, то несложно и переделать) :
063-TH-Effector-12.zip (7996 Загрузок)
Дополнения
1 Тут sig подкинул идею расположения светодиодов для платки индикации
063-LED-ring.zip (Одна Загрузка)
Внешний круг — красные светодиоды, внутренний — синие. В центре 10мм светодиод. Если круги светодиодов расположить на разных уровнях, то должно получиться красиво … теоретически 🙂Как Вы понимаете, таких вариантов может быть множество — присылайте если получиться что-то интересное.
2 Опубликовал статью со светодиодным светильником в котором есть еще один вариант платы.
Вариант платы от SVN
063-Effector-Shem_m.zip (2020 Загрузок)
2 Поговорим о подключении светодиодов / лампочек.
Тут есть множество вариантов. Все зависит от того, что Вы будете подключать к каналам.
2.1 Если Вы решили подключить только 12 светодиодов – все очень просто: ставим светодиод последовательно с резистором в 300 Ом в каждый канал и все!
В случае подключения светодиодов напрямую к микроконтроллеру очень желательно по питанию, кроме керамического конденсатора, поставить конденсатор большой емкости (10-100мкФ).
Одновременно зажженные 12 светодиодов дадут довольно приличный токовый «удар», просадкой напряжения питания может сбросить микроконтроллер.
2.2 Если светодиодов нужно больше, тут варианты такие:
Падение напряжения на белом, синем, зеленом светодиодах (ультраярких) составляет около 3 вольт, на красном – до 2 х. Значит если включить последовательно с красным, какой либо другой светодиод + резистор на пару десятку Ом, то яркость свечения будет нормальной. При последовательной работе двух не красных светодиодов яркость будет недостаточной, здесь придется поставить в каналы транзисторы
Эта же схема подойдет для включения светодиодов большой мощности (1Вт, 3Вт).
Еще можно применить ULN2003 – только отображение каналов будет инверсным. Как вариант для гирлянд с большим количеством последовательно включенных лампочек / светодиодов подойдут твердотельные реле. Обычные реле применять не стоит, так как все каналы имеют ШИМ выход. Читайте предыдущую статью «Как подключить к микроконтроллеру нагрузку?» — там все написано.
3 Плата готова, нужно залить прошивку устройства.
Подключаем программатор к боковому разъему – там есть все нужные для этого выводы.
o63-T2313-effector-12.zip (8404 Загрузки)
Выставляем фьюз-биты на работу микроконтроллера от внутреннего генератора на 8МГц.
063-fuse-bits.png (10368 Загрузок)
Напоминаю:Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.
Как программировать микроконтроллеры читаем в FAQ.
4 Устройство готово! Теперь расскажу как оно работает.
У генератора эффектов есть 12 ШИМ каналов (8 бит, 100Гц), которые управляются алгоритмами, заложенными в микроконтроллер. В прошивке предустановленны 8 программ эффектов, причем 4 из них, при первом старте или по специальной команде UART, копируются в EEPROM микроконтроллера. Позже их можно подкорректировать или заменить другими при помощи специальной программы. Для выбора эффектов используется три перемычки или переключателя на ножках 7, 8, 9. Комбинация замкнутых на «землю» ножек будет определять какой эффект сейчас задействован:
Переключатели в порядке — 2,1,0 (где 0 – разомкнуто — висит в воздухе, 1 – замкнуто на «землю»)
000 – запуск первой программы EEP1 с EEPROM
001 – запуск второй программы EEP2 с EEPROM
010 – запуск третьей программы EEP3 с EEPROM
011 – запуск четвертой программы EEP4 с EEPROM
100 – запуск первой программы P1 с Flash
101 – запуск второй программы P2 с Flash
110 – запуск последовательности программ с EEPROM (4 программы)
111 – запуск последовательности программ с Flash (8 программ)
Переключать программы возможно и по UART, причем по UART возможно выбрать и оставшиеся 2 программы P3 и P4 с Flash.При запуске последовательностей (комбинации 110 и 111), программы через определенное время чередуются.
Вот такой функционал доступен с платы устройства. Не очень впечатляет, правда? Хотите чего-то большего? Подключайте устройство через UART к компьютеру и при помощи специальной программы получите возможность задействовать весь функционал устройства!
А именно:
— Уровни 12-ти ШИМ каналов можно непосредственно изменять из программы;
— 4 программы, записанных в EEPROM, можно менять по своему усмотрению;
— задавать программу поведения для каждого канала отдельно;
— включать/отключать любой из 6 общих эффектов, действующих сразу на все каналы, (стробоскоп, движение по заданной программе, мерцание, изменение яркости, сдвиг/скольжение каналов);
— менять скорость работы программы эффектов или полностью ее остановить;
— задавать изменение каналов под музыку.
5 Подключение к компьютеру.
Устройство имеет UART выход с TTL уровнями, а это значит, что для подключения к компьютеру необходим преобразователь.
5.1 Если Вы хотите сделать подключение через COM порт, понадобится преобразователь уровней для RS232-протокола COM порта. Например, подойдет широко известная MAX232. Проблем со схемой возникнуть не должно – в даташите, на эту микросхему, все описано.
MAX220-MAX249.pdf (4090 Загрузок)
5.2 Подключение через USB можно сделать через FT232RL или попроще, через преобразователь на ATtiny2313, который мы уже делали.
UART устройства работает на следующих настройках
— биты данных (data bits) – 8
— стоп биты (stop bits) – 2
— контроль четности (parity) – нет
— скорость (baud rate) — 9600
Работа по UART организована в виде 2-х символьных посылок. Первый символ — всегда буква (большие буквы латинского алфавита), она указывает, что изменять в устройстве (например, буквы от A до L указывают на каналы от 1 до 12). Второй символ, чаще всего цифра, задает значение параметра (например, для установки яркости каналов, посылаются цифры от 0 до 8).
Пример: Для того чтобы установить среднюю яркость третьего канала, нужно по UART отослать устройству “C5”.
Если управление устройством планируется только с компьютера – не заморачивайтесь этими командами — специальная программа сделает все сама.
Если Вы планируете управлять устройством из своего терминала или при помощи другого микроконтроллера, вот полный перечень команд:
063-UART-Command.pdf (Одна Загрузка)
6 Управление устройством через программу «GCn Effector 12».
Так как устройство имеет довольно обширный функционал, управление через обычную программу терминала хоть и возможно, но не очень удобно. Поэтому, для удобного и наглядного управления мною была написана специальная программа — «GCn Effector 12».
GCn_Effector_121.exe (8984 Загрузки)
Программа имеет небольшой размер, не требует установки. Работает через COM порт (или его эмуляцию, в случае преобразователя на FT232RL или на ATtiny2313). Программа проста, особо описывать нечего, разве что очень кратко пройдусь по основным функциям.
«GCn Effector 12» имеет 3 закладки, для различных возможностей генератора эффектов:
6.1 Закладка «Работа с СОМ портом».
Здесь мы выбираем СОМ порт, к которому подключено устройство – «Выбор порта». Можем посылать команды управления вручную – «Передача пакета». Смотрим «Помощь» с перечнем команд.
6.2 Закладка «Настройка эффектов».
Эта закладка немного веселее предыдущей. Сюда вынесено все, что можно настроить или поменять в устройстве.
— «Работа с EEPROM, программами». Кнопки позволяют сохранить сделанные настройки в текущей (выбранной) EEP-программе, восстановить, все четыре программы EEPROM к начальным настройкам (как при первом старте), прочитать текущую программу из контроллера.
— «Выбор программы». Это то, что можно сделать на устройстве при помощи переключателей, кроме того можно включить две программы (Р3 и Р4), недоступные для переключателей.
— «Скорость работы». Меняет скорость работы программы эффектов или полностью останавливает работу эффекта (статичное отображение состояния каналов).
— «Яркость каналов». Перемещая ползунки, меняем яркость каждого канала по отдельности. Кнопка «Rst» сбрасывает все каналы в ноль.
— «Направление изменения яркости». Задаем программу изменения каждого канала по отдельности (эффекты Work и Jump).
— «Выбор эффектов». Можно выбрать сразу несколько или все отключить – кнопка «Rst».
Перечень эффектов.
Work — отработка программы изменения яркости для каждого канала отдельно (см. Направление изменения яркости);
Jump — отработка программы скачкообразного изменения яркости для каждого канала отдельно (см. Направление изменения яркости);
Strobo — со случайным периодом и случайной длительностью включается стробоскопический эффект на всех каналах;
Move — эффект сдвига. Плавно и случайно меняется скорость и направление сдвига;
Bright — плавное и случайное изменение яркости всех каналов;
Blink — Случайное мерцание всех каналов.
Любые действия в настройщике формируют и отправляют соответствующую UART команду. Последняя отправленная команда отображается в окошке «COM» в правой части области настройки.
6.2 Закладка «Музыка».
Эта закладка совсем веселая, так как позволяет изменять состояние каналов в соответствии с входным аудиоканалом компьютера. Выберите в микшере звуковой карты нужное входное устройство или «Wave», «What U hear», «Stereo Mix», если хотите чтобы отображалась проигрываемая на PC музыка, (или звуки) и жмите «Пуск» — все остальное программа будет делать сама. Есть варианты отображения «Норма» и «Зеркало» — пробуйте. Также можно подкорректировать чувствительность. При работе «музыки» можно переключиться на вторую закладку и работать параллельно с эффектами.
7 Демонстрация.
Для демонстрации устройства я подключил по два светодиода последовательно в каждый канал (24 светодиода). Светодиоды установлены по кругу, для демонстрации эффектов сдвига (ну и так получается прикольней :)).
Светодиоды смонтированы на макетной плате навесным монтажом. К плате припаян разъем «мама» и напрямую подключается к плате устройства. Все устройство готовое к демонстрации:
Как работает устройство и программа смотрим на видео:
8 Возможные применения.
Использование генератора эффектов не ограничиваются лишь праздничной иллюминацией.
Как варианты можно рассматривать:
— различные световые эффекты для различных композиций, поделок;
— различные подсветки интерьера (мебель, потолок, аквариум …);
— так как устройство позволяет сохранять в памяти программы изменений каналов, можно использовать устройство как автомат для каких либо повторяющихся действий (устройства автоматики, умный дом …);
— так как устройство имеет возможность непосредственно с компьютера управлять двенадцатью ШИМ каналами это можно использовать как пульт управления какими либо механизмами (привода, исполнительные элементы …);
— подсветка экстерьера (фасады зданий, фонтаны, беседки …); и т.д.
Ссылки:
Преобразователь USB-UART
Как подключить к микроконтроллеру нагрузку?
Выкладываю исходники, но они изначально не предназначались для показа, поэтому не оформлены соответствующим образом. Берите «как есть».
063-Effector_12-AB-Source.zip (5268 Загрузок)
063-GCn_Effector_12-HiAsm-Source.zip (5127 Загрузок)
А) а где перечень программ, что во флеше? б) как отключить изменение программы при работе без внешнего управления?
Привет!
К сожалению, сейчас и свои проекты стоят — времени не хватает.
Пока точно не смогу…
Здравствуйте GetChiper прошу прощения но если вас не затруднит можете ли помочь с (лентяйкой) повортник, собрал программатор под понипрог МК атини2313 но в сети есть тока одна прошивка с 12-тью программами но не одна из них не работает как лентяйка и не держит память ресурс взят http://www.joyta.ru/4514-begushhie-ogni-na-svetodiodax-sxema-na-mikrokontrollere-attiny2313/
Не могли бы вы помочь !?
Спасибо! Буду пробовать.
Привет!
Можно просто не использовать 2 канала (например 1 и 6). Их отсутствие никак не повлияет на «картинку» эффекта
первый пост отправил не совсем по адресу, прошу прощения за дубль.
Добрый вечер, прошу прощения если вопрос некстати, или слишком затратен по времени.
Можно ли как то попросить сделать версию прошивки эффектора с тем же функционалом, но на 10 полос?
От прошлого проекта у меня остались замечательные мощные ключи и к ним хотелось бы приживить ваш эффектор.
Интересует версия с только «кнопочным» управлением, без подключения к компьютеру.
Заранее признателен, Александр.
Подойдет любой преобразователь USB-UART
У меня на компе нет LPT и COM портов. Как быть?
Вот пару ресурсов:
http://arduino.ru/
http://amperka.ru/
А вообще в поисковике забивай фразу «проекты на Arduino» и будет море проектов.
Спасибо Автор . а ссылку можно ? Что такое Ардуину
Думаю, не стоит что-то выдумывать с падающей звездой. Если взять Ардуину там таких готовых проектов очень много (популярный эффект).
Подскажите а можно собрать на этом контролере такую вещь чтобы хаотично точнее прошел цикл перебегающего огня там из 4 -6 светодиодов через разное время . Хочу сделать эффект падающей звезды
чтобы были Интервалы между эффектами — от секунд до минут. и как это сделать ? Как написать программу?
Действительно забыл (
Попытался я сделать модификацию, но в виду того что этот вариант эффектора очень криво написан — вижу что не получится этого реализовать.
Нужно или на более новом эффекторе это делать либо использовать другое устройство — например автомат нагрузок http://www.getchip.net/posts/130-mnogokanalnyjj-avtomat-upravleniya-nagruzkami-na-attiny2313/
За меня забыли((((((
Там как у вас бу времечко, мой мыло nightriders@bk.ru
надеюсь на неделе
Сори что беспокою, мож у вас появилась немного времени?
Еще не освободился 🙁
Доброе время суток много уважаемый автор.
Вот прошла неделя. И я осмелюсь вам напомнить о своем посте ниже.
Sergei
Если подключать не напрямую к ножкам а как здесь —
http://www.getchip.net/posts/062-kak-podklyuchit-k-mikrokontrolleru-nagruzku/
то очень много. Если напрямую — последовательно можно 2-4 штуки на канал включать
Дед
через недельку напомните
Подскажите пожалуйста сколько можно добавить вот таких светодиодов на канал?
https://ru.aliexpress.com/item/100pcs-lot-1206-SMD-LED-light-Package-LED-Package-Red-White-Green-Blue-Yellow-1206-led/32668226209.html?spm=2114.10010208.1000014.4.sNfklC&scm=1007.13338.46806.0&pvid=da8ceb6a-1d5a-40a2-860f-98413880d6b5&tpp=1&detailNewVersion=&categoryId=400101
мне не сильно срачно, могу подождать пока у вас освободится минутка
Пока я не смогу это сделать — занят другим
меня некто неслышет и даже разработчик((((((((
а кто сможет помочь, мне надо шоб при включении эффектора проигрывалась первая програма памяти 2 цыкла и включалась вторая програмка на постоянку( это без подключеного компа)
HEX-файл — это текстовое отображение прошивки. Соответственно файл больше.
Здравствуйте, я видимо чего то не понимаю но у тини 2313 2 кб под параграмму, а скачанный hex 5033 как он туда поместиться?
В окне прошивки фьюзов должна быть строчка
«Отмеченная» опция означает логическое состояние «0»
если есть значит галочки нужно ставить обратно моей картинке
Подскажите пожалуйста как правильно запрограммировать микроконтроллер и поставить фьюз биты в программе Phyton ChipProgUSB Programmer 6.04.00 ? (Первый опыт программирования) А то устройство не видит команды посылаемые с CОM-порта , но в тоже время переключатели на плате работают.
СДУ?
Может СМУ? — тогда нет у тини2313 нет АЦП, что не позволяет ему обрабатывать аналоговые сигналы.
Но я думаю об эффекторе на другом МК где можно такое делать.
Здравствуйте! Подскажите, возможен ли вариант, переделать Ваше устройство под СДУ ATtiny 2313 4 RGB канала? Вот ссылка для примера, нужного дэвайса…Спасибо!
https://www.youtube.com/watch?v=dbKe5_j6OdY&index=32&list=WL
Это действительно пищалка. Плата перекочевала с другого проекта. В данном проекте пищалка не используется.
Уважаемый GetСhiper, что такое за элемент на Вашей плате — круглый и чёрный, вроде пищалки?Зачем он?
Спасибо.
http://cs628630.vk.me/v628630325/30a51/oa8Vclfa1V8.jpg
сделал
http://cs628630.vk.me/v628630325/30a47/PD2u74PBPbo.jpg
Уважаемый GetСhiper, большое спасибо, записал тестовую прошивку в контроллер — он заработал, переписал с фьюзами от тестовой прошивки основную программу (сняв деление частоты на 8) — всё работает!
Возможно, мистика …..
Буду пытаться разобраться дальше.
Спасибо.
Нужно проверить МК на тестовой прошивке. http://www.getchip.net/posts/022-testovaya-proshivka-dlya-avr-mikrokontrollerov-proverka-rabotosposobnosti-portov/
но всё равно — молчит контроллер, хоть и запрограммирован в соответствии с Вашими рисунками и даташитом на контроллер.
Спасибо.
Продолжим наши игры…
Да, моя ошибка — подумал про другое. В UniProf галочки ставятся как у меня на картинке.
Уважаемый GetСhiper, или я чего-то не понимаю:
в 063 статье указано- «063-fuse-bits.png — Фьюз-биты для Эффектора-12
Напоминаю:Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.»,
в 024 — «Да, у uniprof фьюзы выставляются инверсно(наоборот) моим картинкам.»
Так как всё-таки правильно пользоваться UniProf? Пытаюсь построить эффектор, а он после программирования стоит на месте.
Спасибо.
Для какого эффектора?
По UART скорость поменять и эффекты подправить.