Представляю Вашему вниманию собранное мною устройство «Метеор» или, по другому – «Сосульки» :). Устройство управляет двенадцатью «умными» лентами WS2812B, запуская в случайном порядке по ним «метеоры». Устройство позволяет регулировать скорость эффекта и цвет «метеоров». На видео более подробно показана работа устройства и варианты настроек:
Проект как аппаратно, так и программно реализован на Arduino.
Схема устройства
Базовым элементом схемы является плата Arduino. Для данного устройства могут быть применены Arduino Uno или Arduino Nano или Arduino Pro Mini (как в моей схеме)
Схема устройства проста и особо в описании не нуждается, кроме некоторых моментов:
— при подключении лент обязательно необходимо учитывать направление (на ленте отмечено стрелкой), в противном случае лента работать не будет
— резисторы на выводах МК не обязательны (устройство будет работать и без них), но все же желательно их установить — это защитит порта МК от перегорания в непредвиденных ситуациях
Корпусом устройства служит монтажно-раздаточная коробка, которую используют электрики. В магазине можно подобрать такой размер как Вам подойдет!
Блок питания на 5 вольт выбран с учетом среднего тока лент. Ток потребления одного кусочка ленты из 20 «пикселей» в режиме метеора не превышает 120-150мА. При 12 лентах суммарный ток 1,5-1,8А что соответствует мощности 10Вт. Я использовал 15Вт готовый блок питания от китайцев.
Внимание! Если устройство будет подразумевать одновременное включение всех лент в режиме белого свечения всех пикселей, мощности блока питания не хватит!
Блок питания питает и схему и ленты (хотя правильнее их нужно было бы развязывать). Я ограничился только конденсаторами (на входе питания Arduino) в качестве фильтра. Этого оказалось достаточно.
У устройстве использована «умная» светодиодная лента WS2812B с 60 пикселями на метр. В моей схеме 12шт кусочков по 20 пикселей, а это целых 4м ленты. Ленту можно разрезать на любые по длине кусочки (вплоть до 1 светодиода). В программе никаких изменений делать не понадобится – ленты любой длинны будут правильно работать в устройстве. Лента примененная мною была обычной (IP30) без защиты. Для того, чтобы защитить ленту от механических повреждений и сделать лучи более жесткими (для возможности крепления их в различных положениях), ленты были наклеены на одну из половинок кабель-канала и «одеты» в прозрачную (силиконовую) трубку с внутренним диаметром 10мм.
Разъемы лучей выполнены при помощи 3.5мм аудио джеков. Устройство позволяет включать и отключать лучи прямо во время работы. Это, совместно с удобными разъемами, облегчает монтаж устройства и его настройку.
Платы устройства
Функционально устройство собрано на трех платах (рисунки печатных плат есть в архиве)
— плата управления
— и 2 платы разъемов
Фактически, устройство настолько простое, что можно обойтись и без плат вообще, соединив все элементы схемы проводами (навесным монтажом).
Готовое устройство с подключенными лучами выглядит очень презентабельно!
Скетч устройства
Скетч устройства содержит сторонние библиотеки (в архиве прилагаются).
Внимание! Библиотека возможно не будет правильно работать на последнем ардуиновском IDE 7-й версии. В 6-й версии проблем никаких не возникает.
Если нет желания устанавливать IDE для Arduino, в архиве есть HEX- файл и инструкция как его записать в Ардуину.
117-Meteor_WS2812B.zip (8427 Загрузок)Заключение
Схема позволяет создавать огромное количество модификаций. Осталось куча неиспользованных выводов, в том числе и аналоговых, не используются «ноги» UART, что позволяет подружить в перспективе устройство с компьютером и управлять им оттуда, а возможно даже создать в процессинге визуальную оболочку управления.
У лент неограниченные возможности по управлению каждым «пикселом» (цветом и насыщенностью) . Написанная мной программа «метеора» использует только 60% памяти МК.
Доброе утро, какое программное обеспечение, используемое для печатной платы (макет плат)
Вот здесь уже не подскажу — Kolini писал программу.
Подскажите пожалуйста ещё. Ставлю параметр #define NUM_LEDS 30 всё работает, а при значении 60 тишина
Залил скетч через Arduino 1.0.6 всё заработало. Спасибо за подсказку
Если я не ошибаюсь были какието баги при попытке собрать проект в последней версии ардуино IDE.
Попробуйте более старую версию.
Здравствуйте.Подскажите пожалуйста что не так сделал, при подачи питания лента светиться зелёным цветом,но при этом пробегает метеор по всей ленте, собрано на arduino Nano 3.0 ATmega328,Скетч залился без ошибки
Довольно длинной.
скажите пожалуйста ,а какой максимальной длины может быть одна сосулька ?
хорошая сосулька
COLOR[n] = random(HSV-0,HSV+255); // и установка коридора флюктуации цвета
я изменил в коде. так каждая сосулька случайным образом изменяет цвет
Если нельзя,то помогите найти ссылку,где описано как сделать,заранее спасибо!
RGBестественно
Вечер добрый,а можно ли такое же или подобное сотворить на обычной светодиодной ленте?
Теоритически бесконечно много, но частота обновления будет пропорционально падать. Ну и конечно если алгоритм вывода завязан на оперативную память — это тоже ограничение.
Здравствуйте!
Извиняюсь за вопрос не совсем по теме.
Не подскажете сколько пикселей примерно может обслуживать Ардуина с ATmega328 и ATmega2560 при использовании библиотеки FastLED?
Я так понимаю это зависит в первую очередь от количества оперативной памяти меги?
Нет, на заказ не делаю.
А на заказ делаете?
В ARDUINO ваш скетч выдаёт вот такую ошибку
Скетч использует 19 998 байт (61%) памяти устройства. Всего доступно 32 256 байт.
Глобальные переменные используют 5 825 байт (284%) динамической памяти, оставляя -3 777 байт для локальных переменных. Максимум: 2 048 байт.
processing.app.debug.RunnerException: Недостаточно памяти; прочитайте http://www.arduino.cc/en/Guide/Troubleshooting#size
at cc.arduino.Compiler.size(Compiler.java:319)
at cc.arduino.Compiler.build(Compiler.java:156)
at processing.app.Sketch.build(Sketch.java:1108)
at processing.app.Sketch.build(Sketch.java:1083)
at processing.app.Editor$BuildHandler.run(Editor.java:2011)
at java.lang.Thread.run(Thread.java:745)
Недостаточно памяти; прочитайте http://www.arduino.cc/en/Guide/Troubleshooting#size
очень интересный проект, но мне очень надо чтобы эффект был во всю длину ленты 5 метров, а это 300 диодов. можно увеличить с 20 до 300? заранее огромное спасибо.
Попался на глаза интересный проект http://lightportal.at.ua/publ/videoehkrany_2d/radiokotomatrica/8-1-0-33
Возможно ли «скрестить» эти два проекта Ваш и Котоматрицу, т.е. создание и редактирование и вывод эффектов на компе,а arduino в качестве «посредника» между ПК и экраном на WS2812.
@max50
Спасибо! Будем ждать 🙂
Автор обещал в период Новогодних праздников сделать новый мод.
Добрый день. Так же интересует данный вопрос.
Здравствуйте, Kolini!
Можете доработать прошивку, чтобы увеличить количество каналов до максимального(по моим подсчетам 21).
Заранее спасибо.
@Andrey66
В самом скетче программы есть комментарии в каждой строке. Ищите там строку #define NUM_LEDS и ставьте там то количество пикселей, которое вы будете использовать.
Добрый день!Подскажите как сделать метеоры длиннее,например 25 пикселей,разрезав 5 метров ленты на 12 частей. Я в программировании дуб.Вещь очень классная.Заранее большое спасибо.
Можно использовать АРА106. Они работают на таком же протоколе как WS2811, WS2812. Выпускаются в виде обычных светодиодов 5мм и 8мм с прозрачными и диффузионными линзами. В интернете есть куча продавцов. Можно заказать.
APA102 работают по другому интерфейсу SPI, для них нужно переделывать устройство
Всем доброго!
Зачётный девайс! Заинтересовали меня эти светики, ух как. Есть ещё аналог APA102 они вроде как шустрее. Есть вопрос, может кто видел WS2811-12 не в 5050, а в обычном «стекле» 5мм?
Добавил ссылку на модификацию в статью.
Спасибо большое!С уважением
В архиве к статье есть еще один архив FastLED-lybrary-arduino.rar в нем лежит папка FastLED-master. Всю папку целиком нужно скопировать в то место где у Вас установлена среда Ардуино в папку libraries. После этого все будет работать.
Рекомендую все таки использовать версию программы 1.0.6. Она будет работать лучше и компилировать скетч гораздо быстрее и корректнее. Удачи.
Привет.У меня есть Arduino 1.6.5 и Arduino Nano3.При запис в Ардуину прошивку получается вот ето:fatal error:FastLED.h:No such file or directory.Помогите
Спасибо.
@GetChiper
Выложил мод на форуме! Правда от идеи с резистором отказался 🙂
Поддерживаю!
Автосмена цветов «оживит» устройство. Тем более, что эта автосмена уже, фактически, реализована для девиации выбранного цвета. Нужно лишь увеличить диапазон колебаний.
Может повесить еще один переменный резистор на A2, которым регулировать величину девиации цвета?
@dpd69
Если такой мод и в самом деле интересен многим, я могу его сделать и выложить на форуме.
А кнопка для автоматической смены цветов не будеть?
Осталось добавить кнопку,для автоматической смены цветов!
@xedory
Ни в «обычной» ни в RGB ленте нет возможности управлять отдельными светодиодами! В устройстве использована лента у которой в каждом светодиоде встроена микросхема, «сидящая» на шине данных. Это и позволяет управлять каждым отдельным светодиодом.
Что же касается изготовления «метеора» на обычных светодиодах, то этому посвящено огромное количество разных материалов и схем в интернете. Но это совсем другая тема.
Здравствуйте, можно ли ету схему под обичную ленту (не RGB) зделать! Что нужно отпаять или переделать?
@GetChiper
Ой извините, ошибся, «эмбилайт» там просто так много проводов, и почему то он не всегда запускается, я собрал который к юсби подключается. Спасибо!
«амолета» — это что?
А что если схему амолета переделать не эти ленты?
У нас на здании такие полосы на стену повесили и получился большой экран
Спасибо большое забацаю для нового года
Это «умная» лента с WS2812B светодиодами. В этой ленте можно устанавливать цвет каждого светодиода.
Я не понял. Это обычная RGB лента??????
@SVN
Нет. Это стандартный Ардуиновский IDE, хотя на Си очень похож. Конвертация в программу Алгоритм Билдер неоправданно трудоемка. Человеку даже мало знакомому с языком программирования Ардуино легче модифицировать программу в самой среде.
Похоже код написан на Си… 🙁
Отличное устройство получилось, Kolini!
Руки чешутся на этой базе чего-то сделать 🙂