Неожиданно для самого себя сделал апдейт Эффектора. Ну, наверное, не столько апдейт, сколько портирование его на Arduino (ATmega328).
Вот вроде и не собирался делать апдейт (накопившееся пожелания пользователей планировал реализовать уже в новой конструкции Эффектора №2), но как-то получилось само собой. Все началось с просьбы Юриса (Juris Perkons) добавить в программу Эффектор-12 какую-то дополнительную функцию (уже и не помню какую именно) и пока я там чего-то добавлял, решил немного улучшить функционал программы и так разошелся, что полностью изменил способ формирования светомузыки и еще добавил новую вкладку для создания виртуальных светильников. Это получилось интересно и сразу захотелось что-то проделать и с самой платой. А еще захотелось сделать так, чтобы устройство можно было собрать максимально просто. Вот и получился Arduffector 🙂 —
помесь Ардуины и Эффектора.
Кроме причины для портирования описанной выше есть еще одна причина – невозможность реализовать некоторые мои задумки на старом Эффекторе (не хватает памяти ATtiny2313). В Ардуине эффектор занял чуть больше 10% памяти – есть где разгуляться!
Вот что можно собрать за 5 минут имея в наличии Arduino немного светодиодов, резисторов и проводков.
Немного о конструкции.
Хотя я и написал «портирование», на самом деле все написано с нуля (в старой версии с алгоритмом так все накрутил в свое время, что сейчас заглядываю туда и плачу), поэтому есть небольшие различия в работе разных версий Эффекторов:
— При работе с программой Эффектор-12 различий нет (кроме пункта ниже)
— В виду определенной идеологии алгоритма нового эффектора, в ней не действует регулировка скорости эффектов;
— Эффекты нового эффектора (те, что аппаратно работают) имеют более агрессивный вид, то есть работают чуть быстрее, яркость меняется резче и т.д.;
— Новый эффектор не имеет переключателя выбора отдельного эффекта, зато имеет отдельные кнопки выбора серий эффектов, перебора отдельных эффектов и выключения нагрузок;
— Кроме кнопок новый эффектор имеет ИК-приемник и умеет работать с пультом (процедуру изучения кнопок пульта читай ниже).
В общем, получилось не полная копия, а некоторое подобие, но это и к лучшему – получилось что-то новое!
Теперь о сборке Эффектора.
Есть 2 варианта его построения: легкий и недорогой – ну как все в нашей жизни 🙂
Вариант «Легкий»
Ради этого варианта, собственно, все и затевалось.
Итак, что нужно делать — по пунктам:
1 Берем Arduino Uno или Arduino Nano (в комплекте у них обычно уже идет USB-шнур)
2 Сразу записываем в Ардуину прошивку эффектора (через тот самый USB-шнур, что в комплекте). Читаем, как это делается.
3 В демонстрационном варианте очень удобно использовать безпаечную макетную плату, а в случае реализации Эффектора для реальной конструкции берем широкую панельку на 32 ножки (это для Arduino Nano – она туда идеально встает). Втыкаем в плату Ардуину и рассыпуху (как это делал я – смотрим видео ниже)
4 Подключаем Эффектор к USB и радуемся :).
4.1 Если планируете пользоваться пультом, то нужно пройти несложную процедуру изучения кнопок:
— замыкаем на “землю” переключатель “IR-Learning”;
— сбрасываем Ардуину штатной кнопкой сброса
— дожидаемся загорания индикаторного светодиода «L» (должен постоянно гореть), размыкаем “IR-Learning” («L» должен погаснуть)
— последовательно нажимаем 4 кнопки на пульте (1- выключить все, 2-EEPROM-серия, 3-Flash-серия, 4-следующий эффект)
— после нажатия 4-х клавиш устройство начинает работать в штатном режиме.
В «Легком» варианте отдельного питания не требуется. Питание берется от USB. Кроме того Ардуина имеет собственный преобразователь USB-UART и если вы решите подключить Эффектор к компьютеру — просто используйте штатный шнур.
Обещанное видео:
Вариант «Недорогой»
В случае с Ардуино, все хорошо, кроме цены на эту самую Ардуину. Я даже не беру в расчет стоимость оригинальной Ардуины (она космическая, с учетом того что на плате ничего то особо и нет), но и многочисленные клоны тоже ценой не радуют.
В этом случае есть способ сделать конструкцию дешевле – собрать на микроконтроллере ATmega328p (это тот МК что стоит в Ардуине).
В варианте «Недорогой» придется поработать с паяльником, нужно иметь программатор и самое главное, для работы Эффектора под управлением программы Эффектор-12 Вам понадобится преобразователь USB-UART. Еще минус – питание нужно будет подавать отдельно (разве что в преобразователе будут выходы питания)
Во всем остальном Вы получите абсолютно то-же устройство, что и с варианта «Легкий», но гораздо дешевле!
112-Arduffector.zip (4719 Загрузок)
Дополнительные материалы.
Если эффектор для Вас новое устройство, будет полезно почитать, как это устройство развивалось. В статьях можно получить больше информации о работе устройства и его назначении.
063-12-ти канальный генератор эффектов на ATtiny2313.
066-Простой Ambilight на ATtiny2313 своими руками.
082-Автомат управления нагрузками (апдейт GCn_Effector_12).
083-Светильник-трансформер «Flexilight» на Эффекторе.
088-Программа «Медиа точка» для управления Эффектором.
Старое видео работы старого эффектора
P.S. А еще Эффектор портирован на STM.
Это сделал Денис Железняков в своем блоге.
P.P.S. Как я написал выше, уже готово обновление программы Эффектор-12. Там много чего интересного, в частности, появилась возможность создавать эффекты самому и обмениваться ими. Ждите статью об этом!
Конструкции от читателей блога:
1 Вариант от KonstantinYa
Используется последовательный интерфейс чтобы передать информацию о яркости для каждого отдельного пикселя (или светодиода).
Это примерно то, как передавать информацию в регистры сдвига.
Существует много готовых микросхем (драйверов) для управления светодиодами (как группами, так и отдельными мощными). Вот к примеру http://www.mini-tech.com.ua/index.php?route=product/product&product_id=557
Весь вопрос не в том, как управлять этими драйверами (там ничего сложного и к эффектору их подключать не проблема), а в том доступны ли они у Вас, устраивает ли стоимость, их параметры для Вашего применения и т.д. …
Я просто не могу понять принцип работы ленты как по одному проводу зажигаются 12 rgb светодиодов?
не обязательно это должна быть лента — можно использовать другие устройства вывода. ШИМ-драйверы для мощных светодиодов например какие — это нужно чтобы Вы поискали что Вам нужно.
Мыслей пока нет, может вы предложите? Буду безумно рад. С светодиодным эфектором проще а вот как вместо ленты подключить более мощные излучатели мне непонятно. Я просто практически могу реализовать любую идею а с разработками и програмированием тяжело.
Я могу сформировать сигнал для какого нибудь другого драйвера — более мощного. Есть мысли на этот счет? Ведь светодиодный эффектор както планировалось включать?
А как вместо ленты можно подключить более мощные источники света? Например с использованием контроллеров которые стоят в ленте, твердотельных реле и более мощных RGB светодиодов. Нужна более яркая визуализация. Помогите с таким решением.
На тини, фактически, то-же алгоритм работы что и на Ардуине со светодиодам. Если сделать скорость изменения эффектов слишком медленную — станет визуально заметно ступенчатое изменение яркости светодиодов.
Эффекты для ленточного эффектора уже построены совсем по другому (хотя и выглядят похоже) у них реализованы плавные переходы между каналами.
Я так понимаю вы советуете для светодиодов собрать на тиньке а для ленты на ардуинке?
В этом варианте используются алгоритмы которые сами по себе не очень плавные. В этом плане гораздо лучше эффектор с лентой http://www.getchip.net/posts/122-ehffektor-s-vykhodom-na-umnuyu-lentu-ws2812/ в нем все делалось с расчетом на плавность
Хотелось получить регулировку частоты можно не плавную (кнопкой ступени три-четыри), в идеале конечно бы хотелось переменным резистором. Если это не возможно то буду дальше думать как мне быть. Просто хотелось собрать одно многофункциональное устройство на ардуинке под светодиоды и под ленту. Одновременно использоваться не будет поэтому два устройства собирать смысла нет. Ваш проект мне очень понравился.
То есть достаточно эффекты сделать более плавными?
Сильно бьет по глазам и нужно медленное переключение источников света. Можно конечно собрать на тиньке но это опять нужен uart адаптер а ардуинка есть в наличии. Выручайте!!!
Зачем это нужно?
Спасибо за быстрый ответ!!! Помогите мне пожалуйста сделать чтобы была регулировка частоты хотябы железячно для меня это очень важно. Можно на почту omega-c@rambler.ru
С благодарностью Александр.
Это не проблема — оно так и работает. Об этом я в статье писал
«- В виду определенной идеологии алгоритма нового эффектора, в ней не действует регулировка скорости эффектов;»
Собрал эффектор на arduino uno rev.3 все работает программы и эффекты переключает только не регулируется скорость работы (частота). Ползунок двигаю туда-сюда но нечего не происходит помогите разобраться с данной проблемой.
Сердечное спасибо!!! Буду дерзать.
Для начала подключи к ардуино только светодиоды с резисторами. Прошей прошивку. После этого при включении ардуины сразу должен заработать эффект (без нажатий на какую либо кнопку). Если все заработало, тогда можно добавлять кнопки и TSOP.
Нажимая кнопку Next будут сменятся эффекты. All Off — все выключает. Остальные 2 кнопки запускают серии эффектов.
Процедура изучения кнопок пульта описана в статье (пункт 4.1)
Большое спасибо за быстрый ответ. Я собрал по пунктам эффектор,но запустить не смог. Мигает только светодиод на 13 пине. TSOP подключил напрямую. Ардуинку прошил ARP/Arduino Uploader. Какие действия нужно проводить с кнопками:All,EE,Flash,Next.
На видео не понятно как проводить процедуру изучения кнопок пульта. Проводник синий воткнутый в шину земля никуда не подключался во время запуска эффектора.Простите за банальность, я чайник в этом деле.
Заранее большое спасибо.
TSOP можно подключать напрямую без ничего как к питанию, так и к МК. В случае если возникнут проблемы с помехами, тогда следует установить эти резисторы.
Подсоединение резистора 10ком указано на схеме пунктиром, а на видео не показано, на видео не показан также резистор 300 ом.Как же правильно на самом дела?
Все уже сделано http://www.getchip.net/posts/118-adjusty_led-podstraivaemyjj-rgb-svetodiod/
А кто подскажет, допустим есть 3 диода r/g/b, и с чем лучшие иметь дело, что бы подключить их от аккумулятора и сделать несколько вариантов их переливов. Допустим просто красный, просто синий и просто зеленый, а также переходы в разные цветовые схемы
Спасибо! Добавил.
все разрешил!
Отлично вышло!
Разреши для видео встраивание и я ролик вставлю в статью
https://youtu.be/ZSg-CZ07Fsw
Отлично!
На ютуб и сюда ссылку — а я добавлю в статью.
(Или файл на яндекс диск и и опять ссылку сюда)
@GetChiper
здрасьте) собрал светильник по вашему принципу, куда можно выложить видео на общий суд?)
@GetChiper
еще не пробовал, пока нет возможности реализовать всё в железе
Заработало?
Большое спасибо)
Пересобрал для Atmega644P.
Компилятор не ругался. Теоретически должно работать.
Но не факт…
http://www.forum.getchip.net/viewtopic.php?f=7&t=587
— все ноги МК аналогично оригиналу по названию портов.
Здравствуйте, у меня есть достаточно много микроконтроллеров Atmega644PV, можно ли поправить прошивку для этого МК? заранее спасибо)
спасибо) тока я с ним не знаком) хотелось бы че нить на стандартном ардуиновском или на чистом си хотя бы)
Запросто! Он в статье находится 🙂
112-Arduffector.zip — Файлы по сборке Эффектора
Только исходник на Algorithm Builder http://algrom.net/russian.html
Здравствуйте! я новичок в этом деле понравилась эта интересная штуковина) собрал на UNO все работает без проблем! вопрос к автору таков возможно ли мне как ни будь получить исходник прошивки?
Подключить tlc5940 не сложно. Вот с количеством каналов для данного устройства будет проблема, так как все (в том числе и программа на ПК) заточена под работу с 12 каналами. С этих соображений особо не вижу смысла…
Вот когда буду делать второй эффектор, там изначально заложу выбор количества каналов отображения, вот там действительно понадобятся подобные реализации.
Скажите, возможно ли каким нибудь образом подружить arduino nano и tlc5940 в вашем эффекторе, их можно вешать до восьми штук на канал spi/bitbang и получить в итоге 128 выходов и в итоге расширится количество эффектов которые можно создать.
Спасибо Автору. Собрал на «Нано» с «Али», на круглой плате 80мм, светики красные и синие в два ряда встречно.действительно «ЭФФЕКТОР». Если кому нужна плата могу скинуть.
Есть целая статья по этому поводу
http://www.getchip.net/posts/062-kak-podklyuchit-k-mikrokontrolleru-nagruzku/
GetChiper.Подскажите как подключить нагрузку на биполярном тр-ре
Пост062 к Ардуино Нано3 легкий.Uпит нагр-12в.Ардуино подключаю через
USB шнур. Спасибо.Валерий.
Может кому пригодится. Заказал себе Ардуион UNO на MEGA328P
Вот ссылка http://www.aliexpress.com/item/Free-shipping-high-quality-UNO-R3-MEGA328P-for-Arduino-UNO-R3-NO-USB-CABLE/1986980366.html
Считаю что довольно недорого, учитывая цену оригинала. Только два минуса — нет USB шнурка и мк smd и, соответственно, запаян. То бишь вытащить его и использовать для своих целей либо заменить на другой так просто не получится.
Мини еще дешевле http://www.aliexpress.com/item/New-Atmega328-5v-Version-Pro-Mini-Module-16M-For-Arduino-Compatible-Free-Shipping/1984638141.html
@GetChiper
@Juris
А это идея, буду пробывать, скину фотку если получится.
По поводу сборки на макетной плате, из личного опыта могу добавить, что таким монтажом можно делать очень компактные конструкции, творчески подходя к размещению и соединению элементов. К примеру, если для установки микроконтроллера использовать не готовую стандартную панельку, а два ряда одиночных цанговых контактов, то в пространстве под микроконтроллером можно и кварц разместить, и конденсаторы на питание, и.т.п. Вот как сдесь:
http://lightportal.at.ua/2013/Kat_konstr/CatEye.WS2801-1.png
Она там собственно и не нужна — просто взять макетную плату — поставить панельку под МК и напаять резисторов — ну типа как здесь http://www.getchip.net/posts/prostaya-otladochnaya-plata-dlya-ustrojjstv-avr-atmega4888168-s-chasovym-kvarcem/ только с кварцем на 16Мгц
Памяти у меги8 хватает, но в ближайшее время портировать не планирую. В Ардуине мега8 в панельке? Может поменять на мегу328?
А как быть тем, у кого Ардуино на ATmega8. Или в ней тоже памяти не хватает.
Доброе утро! А есть печатная плата для варианта «Недорого» ?
Большое спасибо Автору за портирование Еффектора на Ардуино железо! Собрал, проверил, пульт обучил — всё прекрасно работает. Действительно очень удобное решение, если на руках уже есть Arduino платка с уже встроенным USB преобразователем (есть Arduino варианты и без USB части — Arduino Pro Mini). Говоря о ценах, если Вы можете покупать и получать из eBay, то Arduino Nano вместе с мини USB кабелем будет 4 … 6 USD. Хитрость в том, что дешёвые китайские Нано не исползуют дорогостоящие USB чипы от FTDI, а дешёвые PL2303, CH340G. Покупаю и пользуюсь такими, и не вижу проблем.
Успехов всем в творчестве! 🙂
Доброго времени суток 🙂
Проект то что доктор прописал. Я вчера получил ардуинку и собирался возится с прошивками для эффектора и гирлянды. Теперь только развести платы осталось.
P.S. По поводу цен на Arduino Nano:
на Аукро самая дешевая с доставкой 105 грн.
на ru.aliexpress.com от 160 до 180 руб примерно 50-60 грн. и это с бесплатной доставкой.