Андрей Смирнов
Время чтения: ~21 мин.
Просмотров: 199

ЦВЕТОМУЗЫКА НА ARDUINO

22.05.2019  colorMusic_v2.10: • Исправлен глюк с большим количеством светодиодов на МЕГЕ

</span>

СТАРЫЕ ВЕРСИИ

15.03.2018, colorMusic_v1.1:

  • Добавлена плавность режиму цветомузыки по частотам! Настройка SMOOTH_STEP
  • Добавлен режим стробоскопа с целой кучей настроек!

16.03.2018 colorMusic_v2.0:

  • Добавлено управление с ИК пульта! Купить пульт можно по этой ссылке, цена вопроса 50р
  • 7 режим – Режим подсветки
  • 8 режим – Режим бегущих частот
  • 9 режим – Анализатор спектра (Версия 2.1)
  • У некоторых режимов появились подрежимы
  • Возможна работа БЕЗ потенциометра. Читайте ниже в инструкции по эксплуатации

18.03.2018 colorMusic_v2.2:

  • Настройки сохраняются в память (энергонезависимую)

19.03.2018 colorMusic_v2.3:

  • Улучшена производительность, почищен мусор
  • в 7 режиме радугу можно остановить и пустить вспять

08.05.2018 colorMusic_v2.4:

  • Добавлена настройка RESET_SETTINGS для сброса настроек в случае некорректной работы. Читайте ниже в FAQ

11.05.2018 ночь colorMusic_v2.5:

  • Код оптимизирован,  библиотеки FastLED и IRremote заменены на более оптимальные Adafruit_NeoPixel и IRLremote (для работы версии 2.5 и выше необходимо установить новые библиотеки из общей папки с библиотеками!)
  • ИК пульт теперь срабатывает почти в 100% случаев вместо прежних 30%
  • Поддержка максимум 410 светодиодов

11.05.2018 день colorMusic_v2.6:

  • Возвращена библиотека FastLED (как оказалось, функции FastLED работают гораздо быстрее, чем NeoPixel, а также поддерживает такое же количество светодиодов!)
  • ИК пульт всё ещё срабатывает почти в 100%, по сравнению с 30% в версиях 2.0-2.4
  • Поддержка максимум 410 светодиодов (работа может быть нестабильной)

20.05.2018 colorMusic_v2.6.1:

  • Исправлен небольшой баг

22.06.18 colorMusic_v2.6.2

  • Добавлено сохранение состояния “включено/выключено” в энергонезависимую память. Штука опциональная, в настройках можно выключить (настройка KEEP_STATE)

28.09.2018  colorMusic_v2.7 (by Евгений Зятьков):

  • Настройка пульта внесена в скетч, тип пульта настраивается в IR_RCT
  • Добавлена поддержка Arduino Mega и Pro Micro
  • Исправлены мелкие баги

22.11.2018  colorMusic_v2.8:

• Добавлено ограничение тока для всей системы, настройка CURRENT_LIMIT • Слегка оптимизированы настройки

22.05.2019  colorMusic_v2.10: • Исправлен глюк с большим количеством светодиодов на МЕГЕ

Крутейшая свето- цветомузыка на Arduino и адресной светодиодной ленте WS2812b. Работает с лентой любой длины (до 450 светодиодов (версия 1.1), до 350 светодиодов (версия 2.0)), и может быть размещена в любом месте в квартире или автомобиле.

Режимы работы (переключаются кнопкой или с ИК пульта (версия 2.0)):

  • VU meter (столбик громкости): от зелёного к красному
  • VU meter (столбик громкости): плавно бегущая радуга
  • Светомузыка по частотам: 5 полос симметрично
  • Светомузыка по частотам: 3 полосы
  • Светомузыка по частотам: 1 полоса
  • Стробоскоп (Версия 2.0)
  • Подсветка (Версия 2.0)
    • Постоянный цвет
    • Плавная смена цвета
    • Бегущая радуга
  • Бегущие частоты (Версия 2.0)
  • Анализатор спектра (Версия 2.1)

Особенности:

  • Плавная анимация (можно настроить)
  • Автонастройка по громкости (можно настроить)
  • Фильтр нижнего шума (можно настроить)
  • Автокалибровка шума при запуске (можно настроить)
  • Поддержка стерео и моно звука (можно настроить)
  • Лента не гаснет полностью (Версия 2.0)
  • (Версия 2.1) все настройки сохраняются в памяти и не сбрасываются при перезагрузке
    • Сохранение настроек происходит при выключении кнопкой звёздочка (*)
    • А также через 30 секунд после последнего нажатия на любую кнопку ИК пульта

ПОДРОБНОЕ ВИДЕО ПО ПРОЕКТУ

Понятные схемы, прошивки с комментариями и подробные инструкции это очень большая работа. Буду рад, если вы поддержите такой подход к созданию Ардуино проектов.

ИНСТРУКЦИИ ПО ЭКСПЛУАТАЦИИ

НАСТРОЙКА ОПОРНОГО НАПРЯЖЕНИЯ. Потенциометр настройки опорного напряжения настраивается “методом тыка” пока не заработает (у меня стоит в середине). Подстройка нужна при смене источника аудио или изменении его потенциальной громкости.

  • Если во время работы в режиме VU метра (первые два режима) шкала всё время горит – слишком низкое опорное напряжение, Ардуино получает слишком высокий сигнал
  • Если не горит – опорное слишком высокое, системе не удаётся распознать изменение громкости с достаточной для работы точностью

МОЖНО СОБРАТЬ СХЕМУ БЕЗ ПОТЕНЦИОМЕТРА! Для этого параметру POTENT (в скетче в блоке настроек в настройках сигнала) присваиваем 0. Будет задействован внутренний опорный источник опорного напряжения 1.1 Вольт. Но он будет работать не с любой громкостью! Для корректной работы системы нужно будет подобрать громкость входящего аудио сигнала так, чтобы всё было красиво, используя предыдущие два пункта по настройке.

НАСТРОЙКА НИЖНЕГО ПОРОГА ШУМОВ является очень важной, в идеале выполняется 1 раз для любого нового источника звука или смены громкости старого. Есть 3 варианта настройки:

  • Ручная: выключаем AUTO_LOW_PASS и EEPROM_LOW_PASS (ставим около них 0), настраиваем значения LOW_PASS и SPEKTR_LOW_PASS вручную, методом тыка
  • Автонастройка при каждом запуске: включаем AUTO_LOW_PASS, выключаем EEPROM_LOW_PASS . При подаче питания музыка должна стоять на паузе! Калибровка происходит буквально за 1 секунду.
  • По кнопке: при удерживании кнопки 1 секунду настраивается нижний порог шума (музыку на паузу!)
  • Из памяти (ЛУЧШИЙ ВАРИАНТ): выключаем AUTO_LOW_PASS и включаем EEPROM_LOW_PASS
    • Включаем систему, источник звука подключен проводом
    • Ставим музыку на паузу
    • Удерживаем кнопку 1 секунду (либо кликаем кнопку 0 (ноль) на ИК пульте
    • Загорится светодиод на плате Arduino, погаснет через ~1.5 секунды
    • Значения шумов будут записаны в память и будут САМИ загружаться при последующем запуске!

Управление с ИК пульта

Номер режима Режим Кнопки ← → Кнопки ↑ ↓ Кнопка #
1 Шкала громкости (градиент) Плавность анимации
2 Шкала громкости (радуга) Плавность анимации Скорость радуги
3 Цветомузыка (5 полос) Плавность анимации Чувствительность
4 Цветомузыка (3 полосы) Плавность анимации Чувствительность
5 Цветомузыка (1 полоса)
5,1 3 частоты Плавность анимации Чувствительность Смена подрежима
5,2 Низкие Плавность анимации Чувствительность Смена подрежима
5,3 Средние Плавность анимации Чувствительность Смена подрежима
5,4 Высокие Плавность анимации Чувствительность Смена подрежима
6 Стробоскоп Плавность вспышек Частота вспышек
7 Цветная подсветка
7,1 Постоянный Цвет Насыщенность Смена подрежима
7,2 Плавная смена цвета Скорость Насыщенность Смена подрежима
7,3 Бегущая радуга Скорость Шаг радуги Смена подрежима
8 Бегущие частоты
8,1 3 частоты Скорость Чувствительность Смена подрежима
8,2 Низкие Скорость Чувствительность Смена подрежима
8,3 Средние Скорость Чувствительность Смена подрежима
8,4 Высокие Скорость Чувствительность Смена подрежима
9 Анализатор спектра Шаг цвета Цвет
Общие настройки (перекл. ОК) Все режимы Общая яркость горящих светодиодов Яркость “не горящих” светодиодов
Остальные кнопки: цифра 0 – калибровка шума, * – вкл/выкл систему,

СХЕМЫ, ПЕЧАТНЫЕ ПЛАТЫ

Внимание! arduino подключается к источнику звука до усилителя (линейному выходу)! звук, который идёт с усилителя на колонки, может спалить плату!

Разделяем на две вертикальные стойки

divide.jpg

Без режима частот

scheme1.jpg

С частотами (3-5 режим)

scheme2.jpg

С микрофоном

От источника 12В

С ИК пультом 3.5 вход

С ИК пультом мик вход

С ИК пультом 3.5

Вход с усилителя (с колонки)

Схема для Pro Micro (by Евгений Зятьков)

МАТЕРИАЛЫ И КОМПОНЕНТЫ

Ссылки на магазины, с которых я закупаюсь уже не один год

Вам скорее всего пригодится:

  • Arduino NANO с ногами http://ali.ski/kJHHnL http://ali.ski/OnjivR
  • Arduino NANO без ног http://ali.ski/SK0PW http://ali.ski/GAq_mq
  • Адресная лента https://ali.ski/tdsIOJ  http://ali.ski/j2xitd
    • Black PCB / White PCB – цвет подложки ленты, чёрная / белая. В видео была чёрная
    • 1m/5m – длина ленты в метрах (чтобы заказать 2 метра, берите два заказа 1m, очевидно)
    • 30/60/74/96/100/144 – количество светодиодов на 1 метр ленты. В видео использовалась лента 60 диодов на метр
    • IP30 лента без влагозащиты (как на видео)
    • IP65 лента покрыта силиконом
    • IP67 лента полностью в силиконовом коробе
    • Лента как на видео: Black PCB 5m 60 IP30
  • Понижайка для автомобиля http://ali.ski/T5TpbR http://ali.ski/yLUrOg
  • Блок питания 5V 2A https://ali.ski/ATrWrthttps://ali.ski/_xdKee
  • Адаптер питания 5.5х2.1 http://ali.ski/UWjFu
  • Аудио гнездо http://ali.ski/OBCRvl
  • Разветвитель наушников http://ali.ski/LuAcL http://ali.ski/gjhGIB
  • ИК пульт (для версии 2.0 WAVGAT) http://ali.ski/jIgy6d  http://ali.pub/2eh6xy
  • Звук через микрофон
    • Микрофон модуль http://ali.pub/2cd5qr http://ali.pub/2cd5th http://ali.pub/2cd5un
  • Звук по FM радио
    • Передатчик FM http://ali.ski/29sic http://ali.ski/lklMs
    • Передатчик “сделай сам” http://ali.ski/YsmHW http://ali.ski/wmNkEX
    • Приёмник FM из видео http://ali.ski/VsnK0 http://ali.ski/uVp3_
    • Понижайка 3.3V http://ali.ski/ftSy1x http://ali.ski/acDEN
    • Приёмник “сделай сам” http://ali.ski/26e_Jh
  • Звук по Bluetooth
    • Передатчик Bluetooth http://ali.ski/_94Dig
    • Приёмник “свисток” http://ali.ski/Rkuyvl
    • Ещё приёмник http://ali.ski/QyigGj
  • Кнопки, конденсаторы и крутилки ищите в любых магазинах для радиолюбителей, так как у китайцев можно купить только мешок 50 штук!
  • Алик
    • Куча резисторов http://ali.ski/FcTn6
    • Куча кнопок http://ali.ski/EBLzU
    • Куча конденсаторов http://ali.ski/_ARA6v
    • Куча потенциометров (можно обойтись без него! Читайте инструкцию) http://ali.ski/fAJrzc
    • Куча конденсаторов для микрофона http://ali.ski/eqALT
  • ЧипДип (Россия)
    • Резистор https://www.chipdip.ru/product0/27226
    • Кнопка https://www.chipdip.ru/product/tyco-2-1825910-7-fsm14jh
    • Конденсатор 10нф https://www.chipdip.ru/product0/42179
    • Конденсатор для микрофона https://www.chipdip.ru/product0/9000261766
    • Потенциометр  (можно обойтись без него! Читайте инструкцию) https://www.chipdip.ru/product/r-0901n-b20k

ПРОШИВКА И НАСТРОЙКА

Загружать прошивку желательно до подключения компонентов, чтобы убедиться в том, что плата рабочая. После сборки можно прошить ещё раз, плата должна спокойно прошиться. В проектах с мощными потребителями в цепи питания платы 5V (адресная светодиодная лента, сервоприводы, моторы и проч.) необходимо подать на схему внешнее питание 5V перед подключением Arduino к компьютеру, потому что USB не обеспечит нужный ток, если например лента его потребует. Это может привести к выгоранию защитного диода на плате Arduino. Гайд по скачиванию и загрузке прошивки можно найти под спойлером на следующей строчке.

ИНСТРУКЦИЯ ПО ЗАГРУЗКЕ ПРОШИВКИ

1. Если это ваше первое знакомство с Arduino, внимательно изучите гайд для новичков и установите необходимые для загрузки прошивки программы.

2. Скачайте архив со страницы проекта. Если вы зашли с GitHub – кликните справа вверху Clone or download, затем Download ZIP. Это тот же самый архив!

3. Извлеките архив. Содержимое папки libraries перетащите в пустое место папки с библиотеками Arduino C:/Program Files (x86)/Arduino/libraries/

4. Папку с прошивкой из firmware положите по пути без русских букв. Если в папке с прошивкой несколько файлов – это вкладки, они откроются автоматически.

5. Настройте прошивку (если нужно), выберите свою плату, процессор. Подключите Arduino к компьютеру, выберите её COM порт и нажмите загрузить.

6. При возникновении ошибок или красного текста в логе обратитесь к 5-ому пункту гайда для новичков – “Разбор ошибок загрузки и компиляции“.

Содержимое папок в архиве

  • libraries – библиотеки проекта. Заменить имеющиеся версии
  • firmware – прошивки
    • colorMusic_v*** – прошивка для Arduino
    • Old versions – старые версии прошивок (не рекомендуется вообще их трогать)
    • IRtest_2.0 – скетч для получения кодов кнопок стороннего ИК пульта
  • schemes – схемы подключения

Дополнительно

  • FAQ:Большинство проблем можно решить, прочитав вот эту статью:https://alexgyver.ru/ws2812_guide/

    В: Купил ленту, на ней контакты G, R, B, 12. Как подключить? О: Это не та лента, можешь выкинуть

    В: Прошивка загружается, но выползает рыжими буквами ошибка “Pragma message….” О: Это не ошибка, а информация о версии библиотеки

    В: Что делать, чтобы подключить ленту своей длины? О: Посчитать количество светодиодов, перед загрузкой прошивки изменить самую первую в скетче настройку NUM_LEDS (по умолчанию стоит 120, заменить на своё). Да, просто заменить и всё!!!

    В: Сколько светодиодов поддерживает система? О: Версия 1.1: максимум 450 штук, версия 2.0: 350 штук

    В: Как увеличить это количество? О: Варианта два: оптимизировать код, взять другую библиотеку для ленты (но придётся переписать часть). Либо взять Arduino MEGA, у неё больше памяти.

    В: Какой конденсатор ставить на питание ленты? О: Электролитический. Напряжение 6.3 Вольт минимум (можно больше, но сам кондер будет крупнее). Ёмкость – минимум 1000 мкФ, а так чем больше тем лучше.

    В: Как проверить ленту без Arduino? Горит ли лента без Arduino? О: Адресная лента управляется по спец протоколу и работает ТОЛЬКО при подключении к драйверу (микроконтроллеру)

  • МОЖНО СОБРАТЬ СХЕМУ БЕЗ ПОТЕНЦИОМЕТРА! Для этого параметру POTENT (в скетче в блоке настроек в настройках сигнала) присваиваем 0. Будет задействован внутренний опорный источник опорного напряжения 1.1 Вольт. Но он будет работать не с любой громкостью! Для корректной работы системы нужно будет подобрать громкость входящего аудио сигнала так, чтобы всё было красиво, используя предыдущие два пункта по настройке.

  • Версию 2.0 и выше можно использовать БЕЗ ИК ПУЛЬТА, режимы переключаются кнопкой, всё остальное настраивается вручную перед загрузкой прошивки.

  • Как настроить другой пульт? У других пультов кнопки имеют другой код, для определения кода кнопок используйте скетч IR_test (версии 2.0-2.4) или IRtest_2.0 (для версий 2.5+), есть в архиве проекта. Скетч шлёт в монитор порта коды нажатых кнопок. Далее в основном скетче в секции для разработчиков есть блок дефайнов для кнопок пульта, просто измените коды на свои. Можно сделать калибровку пульта, но честно уже совсем лень.

  • Как сделать два столбика громкости по каналам? Для этого вовсе необязательно переписывать прошивку, достаточно разрезать длинный кусок ленты на два коротких и восстановить нарушенные электрические связи тремя проводами (GND, 5V, DO-DI). Лента продолжит работать, как одно целое, но теперь у вас есть два куска. Само собой, аудио-штекер должен быть подключен тремя проводами, а в настройках отключен моно режим (MONO 0), а количество светодиодов должно быть равно суммарному количеству на двух отрезках.P.S. Посмотри первую схему в схемах!
  • Как сбросить настройки, которые хранятся в памяти? Если вы доигрались с настройками и что то пошло не так, можно сбросить настройки на “заводские”.  Начиная с версии 2.4 есть настройка RESET_SETTINGS, ставите её 1, прошиваетесь, ставите 0 и снова прошиваетесь. В память будут записаны настройки из скетча. Если вы на 2.3, то смело обновляйте до 2.4, версии отличаются только новой настройкой, которая никак не повлияет на работу системы. В версии 2.9 появилась настройка SETTINGS_LOG, которая выводит в порт значения хранящихся в памяти настроек. Так, для отладки и понимания.

АЛГОРИТМ РАБОТЫ

Режим громкости

  • Делается 100 измерений напряжения на АЦП
  • Ищется максимальное
  • Фильтруется по нижнему порогу шумов
  • Возводится в степень для большей “резкости” анимации
  • Фильтруется “бегущим средним”
  • Ищется “средняя” громкость за несколько секунд (тоже бегущее среднее, но очень медленное)
  • Ищем “максимальную громкость шкалы”, как среднюю * некоторый коэффициент
  • Преобразуем сигнал в количество горящих светодиодов
  • Включаются светодиоды согласно режиму отрисовки

Режим цветомузыки:

  • Преобразование Хартли (разбивка на спектр частот)
  • Фильтрация по нижнему порогу шумов
  • Поиск максимального значения в трёх диапазонах (низкие, средние, высокие)
  • Расчёт “средней громкости” (медленное бегущее среднее)
  • Если текущий сигнал больше среднего * коэффициент – включаем светодиоды
  • Итого имеем массив colorMusicFlash, в котором три ячейки 1 или 0, вкл или выкл
  • Включаем отрезки светодиодов согласно массиву

Цветомузыку собрал примерно за 3 часа, остальное время ушло на разбор и модификацию кода, а так же на поездку в магазин за профилем и кнопками.

Особенность этой цветомузыки в том, что ее не нужно подключать к источнику аудио сигнала, так как она получает аудио данные, благодаря встроенному в нее модулю микрофона. Он подключен через усилитель напряжения к АЦП ардуины. Усилитель собран на транзисторе КТ3102, у которого есть зарубежные аналоги.

Для выбора режимов на цветомузыке имеются две кнопки, color и pattern. Кнопка color переключает цветовые схемы, их всего 3, а кнопка patern переключает динамические режимы цветомузыки, их всего 8.

Для настройки чувствительности и яркости установлен потенциометр param, это переменный резистор с изменяемым сопротивлением от 0 до 10 кОм. Он так же подключен к АЦП и в зависимости от его положения происходит программная обработка параметров. Можно модифицировать код и установить вместо потенциометра энкодер, но это уже будет реализовано в другом проекте.

В настройках так же можно выбирать используемое в ленте количество светодиодов 60, 120 или 180 и регулировать частотный фильтр, настроенный на 8 частотных диапазонов, для этого применяется программный фильтр частот на базе алгоритма быстрого преобразования Фурье.

Светодиодная лента основана на полноцветных, управляемых адресных светодиодах ws2812b. Плотность ленты я выбрал 60 светодиодов на 1 метр. На мой взгляд это оптимальное соотношение для многих задач. К питанию светодиодной ленты нужно отнестись серьезно , так как на максимуме она потребляет до 3,6 А на 1 метр. Конечно вероятность такого сценария что цветомузыка включит все светодиоды белым цветом и еще на полную мощность, равна нулю. Но тем не менее лучше сразу приобрести хороший блок питания. Как минимум на 5 Вольт и 5 Ампер.

Схема цветомузыки. По схеме комментировать особо нечего. Нужно только настроить среднюю точку усилителя на транзисторе КТ3102. Настройка сводится к подбору резистора смещения 200 кОм или резистора нагрузки 1 кОм, нужно добиться половины напряжения питания на коллекторе транзистора или входе A0. Транзистор можно заменить любым n-p-n аналогом.

Потенциометр лучше использовать линейный с сопротивлением от 10 до 50 кОм.

Если Вы в своем проекте будете использовать контроллер Arduino pro mini, то припаяйте сразу керамический конденсатор 0,1 мкФ на 20-й вывод (ARef) микроконтроллера ATmega328.

Основные комплектующиеArduino Pro miniСветодиодная лента на WS2812BМикрофон с усилителемПотенциометр 20кОм Адаптер питания 5 В, 10 А очень давно куплен на алиэкспресс

Скетч для Ардуино ws2812b Я использовал в своем проекте, код цветомузыки Lumazoid с небольшими модификациями. Оригинальный скетч можно скачать с гитхаба Еще нужно добавить в папку libraries, используемые в проекте дополнительные библиотеки NeoPixel.h и ffft.h

Если Вы в скетче не прописали параметры своей светодиодной ленты, то их можно изменить. Для этого нажмите кнопку pattern, не отпуская ее включите питание. Вращая потенциометр нужно выбрать плотность используемой светодиодной ленты, по светящимся красным светодиодам: первый — 60, второй — 120 или третий — 180 светодиодов. Для сохранения параметров в EEPROM еще раз нажмите кнопку pattern.

Для регулировки яркости нужно нажать и удерживать кнопку color, после чего включаем питание. По умолчанию в скетче прописано 8 светодиодов которые будут светиться основными цветами. Ручкой потенциометра param можно изменить их яркость. Для сохранения параметров в EEPROM нажмите еще раз кнопку color.

Видео демонстрирующее возможности цветомузыки. Сразу прошу извинить меня за качество ролика, снимал дешевым смартфоном.

Надеюсь я ничего не упустил. Если у Вас возникнут вопросы, я с удовольствием на них отвечу. Обсуждение на форуме cyber-place.ru

shtampnm.pngmaxim0512Arduino / СветодиодыДобавлено 6 комментариев 1574172451_p1070469.jpgВидео демонстрация под Metallica — FuelВидео демонстрация под Evanescence — Even in death (2016 version)Добрый день всем читателям и любителям «посамодельничать». Все мы с нетерпением ждем Новый год. И конечно хочется украсить свой дом. Чтобы вокруг всем было красиво и сказочно. И какой же Новый год без хорошей музыки. Вкусы у всех, конечно, разные, но каждый захочет включить что-нибудь, веселое и потанцевать. А может это будет медленный танец или вспомнить ушедший год под грустные мотивы. В любом случае, создать атмосферу и украсить дом, поможет цветомузыка. Созданию цветомузыки на основе Arduino и WS2812, и будет посвящена данная инструкция. На эту идею меня натолкнул AlexGyver. На его сайте alexgyver.ru много подобных идей и изобретений. Загляните как будет время. Итак, начнем. В список покупок к Новому году добавим:— Arduino Nano (можно использовать практически любую совместимую плату)- Адресные светодиоды WS2812 (WS2812B), в количество светодиодов от 2 – 400 шт.- Переменный резистор 10 – 100 кОм- Кнопка- Блок питания 5 В, 3 А (сила тока подбирается по ваше количество диодов)- гнездо подключения блока питания- Гнездо стерео-джек 3,5 мм- Соединительный провод (стерео-джек 3,5 мм — стерео-джек 3,5 мм)- Керамический конденсатор 10нФ (маркировка 103)- Провода- Паяльник и все сопутствующие ему.Шаг 1 Подготовка светодиодных лент.В этом шаге большой простор для вашей фантазии. Можно закрепить ленты на шкафу, картине, карнизе, телевизоре, тумбе и тд и тп. Я так и не смог определиться с выбором места. Я сделал, и вам рекомендую, сделать переносную ленту, точнее две. По длине – все зависит от вашего желания. Также ленту бываю с разной плотностью. Я брал с плотностью 30 диодов на метр. Они также есть 60 и 120 диодов на метр. Я сделал две полоски по 18 светодиодов. Это примерно 60 см. Для начала нам нужно основа. Под основу подойдут полоски фанеры, ДВП или пластика. Я взял фанеру толщиной 3 мм и вырезал две полоски шириной 1 см и диной 62 см (с запасом чтобы на конце закрепить провода от ленты):1574014167_fanerka.jpgПоверх полоски из фанеры клеим светодиодную ленту, если вы приклеили ленту не ровно и пришлось ленту отодрать, она будет плохо держаться. В таком случае рекомендую использовать канцелярский двусторонний скотч. Он есть толщиной 1 см, как раз по ширине нашей ленты:1574014161_lenta-nakleenaja.jpgДля тех кот не работал с адресными лентами вкратце расскажу. WS2812 – это три светодиода (красный, синий, зеленый) и 8-битный ШИМ драйвер для них в одном корпусе. Для подключения ленты используется три провода. +5V контакт на который подается плюс от блока питания, GND – минус блока питания. Управление происходит подачей 24 битного сигнала для каждого светодиода (8 бит на один цвет). Сигнал от Arduino подается на контакт Din первого светодиода, который в свою очередь, записывает себе во временную память первые 24 бита и согласно им, устанавливает цвет свечения, отсекает от сигнала эти первые 24 бита и отправляет сигнал через контакт Do дальше, следующим светодиодам. Поэтому у ленты есть направление. Она указано на ленте стрелочкой, или от контакта Din к Do.Чем больше светодиодов, тем больше протекающий ток . WS2812 очень прожорливы и один диод потребляет (при максимальной яркости все трех цветов) 0,06 А. Поэтому провода питания контакты +5V и GND надо подбирать под максимальный ток протекающий по ним. Я использовал медный гибкий провод сечение 0,5 мм (с запасом и для дальнейшего увеличения длины ленты). Провод для сигнального контакты не столь требователен к сечению, ток протекающий по нему мал, поэтому берем тоненький гибкий провод. Припаиваем провода к ленте и изолируем контакты:1574014110_mesto-pajki.jpgЦветомузыка работает следующим образом: делит количество светодиодов пополам, громкость музыки указывается загоранием диодов от середины к концам всей ленты. Поэтому, если вы хотите две полосы, работающие как у меня на видео обе ленты подключаются параллельно (провод от контактов Din обеих лент к одному пину Arduino, D12). И тогда количество светодиодов в скетче указываем равное сумме диодов обеих лент. Если вы хотите, чтобы лента работала от середины подключаем две полоски последовательно и также указываем общее количество светодиодов.Шаг 2 Блок питания.Как я уже говорил лента WS2812 прожорлива, к выбору блока питания надо подойти основательно. Нам нужен 5 вольтовой стабилизированный, силу тока подбираем в зависимости от количества светодиодов, лучше брать с запасом. Я рекомендую, например, такой на 3 А:1574014104_blok-pitanija.jpgХарактеристики написаны на корпусе блока питания:1574014125_blok-pitanija-harak.jpgЯ планирую дальнейшее расширение моей цветомузыки, поэтому не мелочась беру компьютерный блок питания с выведенными контактами подключения:1574014181_moj-blok.jpgШаг 3 Arduino и схема подключения.Для реализации данного проекта подойдет практически любая Arduino совместимая плата. У меня под руками оказалась Arduino Uno. Теперь надо собрать все по схеме. Схему возьму от моего идейного вдохновителя AlexGyver –ра:1574014137_shema.jpgПотенциометр нужен для установки опорного напряжения для измерения уровня аудио сигнала. Контакт A0 используется как GND (для Arduino Nano так удобнее подключать). Можно обойтись без потенциометра, включив использование внутреннего опорного напряжения в скетче. Контакты A1, A2 используются для подключения аудио сигнала, не забываем соединить GND контакты Arduino и провода аудио сигнала. Кнопка, используется для переключения режимов, подключается к контакту D3 Arduino.Соединение гнезда и контакта A3 через конденсатор нужно для работы некоторых режимов. Подробно о режимах работы вы можете узнать на странице AlexGyver:Чтобы мы могли слушать музыку, и наша цветомузыка работа нам необходимо разделить аудио сигнал. Сделать это можно используя тройник:1574014173_trojnik-stereodzhek.jpgТакже можно подключить колонки к аудио выходу на материнской плате, а цветомузыку к выходу наушников. Главное, нельзя подключать цветомузыку к выходу после усилителя, там слишком большой уровень сигнала для Arduino.Я собрал все на основе Arduino Uno и разместил на блоке питания:1574014188_arduino-sobrannaja.jpgШаг 4 Редактирование, настройка и заливка скетча.Для начала необходимо скачать последнюю версию среды разработки Arduino IDE. Лучше всего с официального сайта.Выбирайте как вам удобнее: скачать ZIP архив и распаковать в нужное место или скачать установочный файл и установить программу. Разницы нет.Для работы скетча нам понадобятся библиотеки: Adafruit_NeoPixel-master, EEPROMex, FastLED-master, FHT, GyverButton, IRLremote-master и IRremote. Проще всего скачать их все вместе и уже нужные версии с сайта AlexGyver.Скачиваем целиком архив. Распаковав архив, переписываем все содержимое папки «libraries» в одноименную папку, находящуюся в папке с установленной Arduino iDE.Запускаем Arduino IDE. Открываем скетч из скаченного ранее архива. Нужный нам скетч находиться в папке «firmware». Открываем «colorMusic_v2.10». Чтобы он работал правильно его нужно немного подправить, а точнее выставить правильные настройки.Скетч предусматриваем возможность использования инфракрасного пульта для управления. Если есть желание вы можете найти все нужные инструкции на сайте AlexGyver-а. На мой взгляд пульт не обязателен. Поэтому будет настраивать на работу без пульта. Ищем строку:

#define REMOTE_TYPE 0

Там должен стоять «0».Настройки Arduino будет хранить в энергонезависимой памяти EEPROM. Чтобы не возникало ошибок в дальнейшем, сбросим все настройки. Находим строку:

#define RESET_SETTINGS 0

Ставим вначале «1», прошиваем скетч, после этого ставим «0» и прошиваем еще раз.В строке:

#define NUM_LEDS 36

Указываем ваше количество светодиодов. После запуска цветомузыки поступаем следующим образом: для начала надо настроить нижнюю границу уровня звука. Для этого ставим музыку на паузу, зажимает и удерживаем кнопку пока не загорится диод на плате Arduino. Вариантов установки цветомузыки масса. Я установил блок питания и Arduino на шкафу. Блок питания подальше, чтобы его не было видно, а ленты направил вверх:1574172375_ustanovka-na-shkafu.jpgТакже можно установить ленты по бокам от компьютерного стола:Затем включаем музыку и смотрим все вся ли лента загорается при работе музыки. Если лента работает только в самом начале или наоборот всегда горит крутим потенциометр. Опытным путем делаем так чтобы вся лента работала. Все удачи в самоделках и отличных идей.

Доставка новых самоделок на почту

Получайте на почту подборку новых самоделок. Никакого спама, только полезные идеи!

*Заполняя форму вы соглашаетесь на обработку персональных данных

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь. Используемые источники:

  • https://alexgyver.ru/colormusic/
  • https://duino.ru/blog/all/cvetomuzyka-na-arduino-svoimi-rukami/
  • https://usamodelkina.ru/16334-cvetomuzyka-na-arduino.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации