117-12-ти канальный «Метеор» на светодиодных лентах WS2812B и Arduino.

Автор: | 02.06.2015

Представляю Вашему вниманию собранное мною устройство «Метеор» или, по другому – «Сосульки» :). Устройство управляет двенадцатью «умными» лентами 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 - Файлы проекта


Модификации «Метеорита»

Заключение

Схема позволяет создавать огромное количество модификаций. Осталось куча неиспользованных выводов, в том числе и аналоговых, не используются «ноги» UART, что позволяет подружить в перспективе устройство с компьютером и управлять им оттуда, а возможно даже создать в процессинге визуальную оболочку управления.

У лент неограниченные возможности по управлению каждым «пикселом» (цветом и насыщенностью) . Написанная мной программа «метеора» использует только 60% памяти МК.

(Visited 14 153 times, 10 visits today)

117-12-ти канальный «Метеор» на светодиодных лентах WS2812B и Arduino.: 41 комментарий

  1. GetChiper

    Отличное устройство получилось, Kolini!
    Руки чешутся на этой базе чего-то сделать 🙂

  2. SVN

    Похоже код написан на Си… 🙁

  3. Kolini Автор записи

    @SVN
    Нет. Это стандартный Ардуиновский IDE, хотя на Си очень похож. Конвертация в программу Алгоритм Билдер неоправданно трудоемка. Человеку даже мало знакомому с языком программирования Ардуино легче модифицировать программу в самой среде.

  4. nickson

    Я не понял. Это обычная RGB лента??????

  5. GetChiper

    Это «умная» лента с WS2812B светодиодами. В этой ленте можно устанавливать цвет каждого светодиода.

  6. geodio

    Спасибо большое забацаю для нового года

  7. geodio

    У нас на здании такие полосы на стену повесили и получился большой экран

  8. Skylin

    А что если схему амолета переделать не эти ленты?

  9. GetChiper

    «амолета» — это что?

  10. Skylin

    @GetChiper
    Ой извините, ошибся, «эмбилайт» там просто так много проводов, и почему то он не всегда запускается, я собрал который к юсби подключается. Спасибо!

  11. xedory

    Здравствуйте, можно ли ету схему под обичную ленту (не RGB) зделать! Что нужно отпаять или переделать?

  12. Kolini Автор записи

    @xedory
    Ни в «обычной» ни в RGB ленте нет возможности управлять отдельными светодиодами! В устройстве использована лента у которой в каждом светодиоде встроена микросхема, «сидящая» на шине данных. Это и позволяет управлять каждым отдельным светодиодом.
    Что же касается изготовления «метеора» на обычных светодиодах, то этому посвящено огромное количество разных материалов и схем в интернете. Но это совсем другая тема.

  13. dima5556565

    Осталось добавить кнопку,для автоматической смены цветов!

  14. dpd69

    А кнопка для автоматической смены цветов не будеть?

  15. Kolini Автор записи

    @dpd69
    Если такой мод и в самом деле интересен многим, я могу его сделать и выложить на форуме.

  16. GetChiper

    Поддерживаю!
    Автосмена цветов «оживит» устройство. Тем более, что эта автосмена уже, фактически, реализована для девиации выбранного цвета. Нужно лишь увеличить диапазон колебаний.

    Может повесить еще один переменный резистор на A2, которым регулировать величину девиации цвета?

  17. Kolini Автор записи

    @GetChiper
    Выложил мод на форуме! Правда от идеи с резистором отказался 🙂

  18. dpd69

    Привет.У меня есть Arduino 1.6.5 и Arduino Nano3.При запис в Ардуину прошивку получается вот ето:fatal error:FastLED.h:No such file or directory.Помогите

  19. Kolini Автор записи

    В архиве к статье есть еще один архив FastLED-lybrary-arduino.rar в нем лежит папка FastLED-master. Всю папку целиком нужно скопировать в то место где у Вас установлена среда Ардуино в папку libraries. После этого все будет работать.
    Рекомендую все таки использовать версию программы 1.0.6. Она будет работать лучше и компилировать скетч гораздо быстрее и корректнее. Удачи.

  20. dpd69

    Спасибо большое!С уважением

  21. GetChiper

    Добавил ссылку на модификацию в статью.

  22. cooproom

    Всем доброго!
    Зачётный девайс! Заинтересовали меня эти светики, ух как. Есть ещё аналог APA102 они вроде как шустрее. Есть вопрос, может кто видел WS2811-12 не в 5050, а в обычном «стекле» 5мм?

  23. GetChiper

    APA102 работают по другому интерфейсу SPI, для них нужно переделывать устройство

  24. Kolini Автор записи

    Можно использовать АРА106. Они работают на таком же протоколе как WS2811, WS2812. Выпускаются в виде обычных светодиодов 5мм и 8мм с прозрачными и диффузионными линзами. В интернете есть куча продавцов. Можно заказать.

  25. Andrey66

    Добрый день!Подскажите как сделать метеоры длиннее,например 25 пикселей,разрезав 5 метров ленты на 12 частей. Я в программировании дуб.Вещь очень классная.Заранее большое спасибо.

  26. Kolini Автор записи

    @Andrey66
    В самом скетче программы есть комментарии в каждой строке. Ищите там строку #define NUM_LEDS и ставьте там то количество пикселей, которое вы будете использовать.

  27. max50

    Здравствуйте, Kolini!
    Можете доработать прошивку, чтобы увеличить количество каналов до максимального(по моим подсчетам 21).
    Заранее спасибо.

  28. LLIHYP

    Добрый день. Так же интересует данный вопрос.

  29. max50

    Автор обещал в период Новогодних праздников сделать новый мод.

  30. VovanP

    Попался на глаза интересный проект http://lightportal.at.ua/publ/videoehkrany_2d/radiokotomatrica/8-1-0-33
    Возможно ли «скрестить» эти два проекта Ваш и Котоматрицу, т.е. создание и редактирование и вывод эффектов на компе,а arduino в качестве «посредника» между ПК и экраном на WS2812.

  31. TERRA

    очень интересный проект, но мне очень надо чтобы эффект был во всю длину ленты 5 метров, а это 300 диодов. можно увеличить с 20 до 300? заранее огромное спасибо.

  32. TERRA

    В 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

  33. observer

    А на заказ делаете?

  34. admin

    Нет, на заказ не делаю.

  35. lomaniac

    Здравствуйте!
    Извиняюсь за вопрос не совсем по теме.
    Не подскажете сколько пикселей примерно может обслуживать Ардуина с ATmega328 и ATmega2560 при использовании библиотеки FastLED?
    Я так понимаю это зависит в первую очередь от количества оперативной памяти меги?

  36. strem

    Теоритически бесконечно много, но частота обновления будет пропорционально падать. Ну и конечно если алгоритм вывода завязан на оперативную память — это тоже ограничение.

  37. Ольга-Сахно

    Вечер добрый,а можно ли такое же или подобное сотворить на обычной светодиодной ленте?

  38. Ольга-Сахно

    Если нельзя,то помогите найти ссылку,где описано как сделать,заранее спасибо!

Добавить комментарий