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 40 336 times, 17 visits today)

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

  1. Анатолий

    Добрый день! Можно ли в одном скетче объединить «Метеор» и «Эффектор»

  2. GetChiper

    Нет — не получится.

  3. aurifer

    Максимальное число пикселей на одну сосульку 30 шт.! Может и меньше, т.к. я подключал только 6 лент. Пробовал увеличить в программе, контроллеру не хватает памяти. Сам не разобрался пока на форуме arduino не спросил.

  4. Сергей

    Здравствуйте. Подскажите почему я не могу залить прошивку в ардуино (нано)? Выдает ошибку:
    Скетч использует 40 304 байт (131%) памяти устройства. Всего доступно 30 720 байт.
    Глобальные переменные используют 1 936 байт (94%) динамической памяти, оставляя 112 байт для локальных переменных. Максимум: 2 048 байт.
    processing.app.debug.RunnerException: Скетч слишком большой; прочитайте http://www.arduino.cc/en/Guide/Troubleshooting#size

  5. GetChiper

    Привет!
    Возможно новое IDE создает менее оптимальный код. Используйте старое IDE 6. Или просто залейте HEX-файл который есть в архиве.

  6. Сергей

    дело в том что я hex просто, но я хочу изменить количество матриц в ленте. попробую с с другим ide

  7. Михаил

    Почему Недостаточно памяти, программа может работать нестабильно?

  8. GetChiper

    Пробуйте.
    Это предупреждение для случая когда стек активно используется.
    Должно работать.

  9. Александр

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

  10. GetChiper

    Только менять скетч.

  11. Alex

    Подскажите повторил устройство все работает, но переодически ардуина зависает (пробовал и про мини и нано) , питание от компьютерного БП, на входе в ардуино поставил керамический кондер 0.1 мкф и 470 uf 10v

  12. GetChiper

    В идеале, чтоб не разбираться с причиной, в прошивке поставить вочдог, но только уже в этом году не займусь.

  13. Alex

    Спасибо что ответили, я так понял что проблема все таки в питании, завтра попробую разделить питание диодов и платы (если после зависании платы сделать сброс то она также не работает)

  14. Геннадий

    Доброго времени суток. Подскажите что сделать со скетче никак не могу установить. Я только начинаю пробовать, если не сложно поподробнее, скачал а дальше непонятно. Спасибо

  15. GetChiper

    Привет!
    Со скетчем нужно разбираться — он работал только в одной из старых версий IDE (нужно смотреть что в новой версии ему мешает)

  16. Spectrum

    Добрый день.
    Если взять ленты 60 светодиодов будет ли корректно «падать» метеор без изменения в коде?
    Спасибо.

  17. GetChiper

    Привет!
    Автор пишет, что длина может быть любой.
    В крайнем случае всегда можно подправить.

  18. Spectrum

    Скажите, можно ли применить другие светодиодные ленты вместо WS2812 без изменений в прошивке?

  19. Spectrum

    дополню свой вопрос: библиотека fastled может дает возможность указать тип светодиодной ленты?

  20. Spectrum

    В файле keywords.txt в разделе # Chipsets есть перечень лент, с которыми работает библиотека FastLED-3.3.3.
    В скетч добавляется строкой:
    #include «FastLED.h»
    #define LED_TYPE WS2812b


  21. Spectrum

    Доработал на 50 лент по 30 светодиодов.
    ATmega2560.
    Подробнее здесь

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