Крутая цветомузыка своими руками
ОБНОВЛЕНИЯ
22.05.2019 colorMusic_v2.10: Исправлен глюк с большим количеством светодиодов на МЕГЕ
- Добавлена плавность режиму цветомузыки по частотам! Настройка SMOOTH_STEP
- Добавлен режим стробоскопа с целой кучей настроек!
- Добавлено управление с ИК пульта! Купить пульт можно по этой ссылке, цена вопроса 50р
- 7 режим – Режим подсветки
- 8 режим – Режим бегущих частот
- 9 режим – Анализатор спектра (Версия 2.1)
- У некоторых режимов появились подрежимы
- Возможна работа БЕЗ потенциометра. Читайте ниже в инструкции по эксплуатации
- Настройки сохраняются в память (энергонезависимую)
- Улучшена производительность, почищен мусор
- в 7 режиме радугу можно остановить и пустить вспять
- Добавлена настройка 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 светодиодов (работа может быть нестабильной)
- Исправлен небольшой баг
- Добавлено сохранение состояния “включено/выключено” в энергонезависимую память. Штука опциональная, в настройках можно выключить (настройка 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 секунд после последнего нажатия на любую кнопку ИК пульта
ВИДЕО
КОМПОНЕНТЫ
Каталоги ссылок на Алиэкспресс на этом сайте:
Стараюсь оставлять ссылки только на проверенные крупные магазины, из которых заказываю сам. Также по первые ссылки ведут по возможности на минимальное количество магазинов, чтобы минимально платить за доставку. Если какие-то ссылки не работают, можно поискать аналогичную железку в каталоге Ардуино модулей . Также проект можно попробовать собрать из компонентов моего набора GyverKIT .
- Arduino Nano купить в РФ, aliexpress, aliexpress, искать
- Адресная лента
- Купить в РФ, 60 свет/метр, 30 свет/метр
- Купить на Али ссылка, ссылка
- Black PCB / White PCB – цвет подложки ленты, чёрная / белая. В видео была чёрная
- 1m/5m – длина ленты в метрах (чтобы заказать 2 метра, берите два заказа 1m, очевидно)
- 30/60/74/96/100/144 – количество светодиодов на 1 метр ленты. В видео использовалась лента 60 диодов на метр
- IP30 лента без влагозащиты (как на видео)
- IP65 лента покрыта силиконом
- IP67 лента полностью в силиконовом коробе
- Постфикс ECO – лента чуть более низкого качества, меньше меди, на длинной ленте будет сильно проседать яркость
- Понижайка для автомобиля https://ali.ski/2I7QI
- Блоки питания aliexpress, aliexpress, искать
- Гнездо 5.5×2.1 aliexpress, aliexpress, искать
- Аудио гнездо https://ali.ski/7f3W9
- Разветвитель наушников https://ali.ski/BGyNE2
- ИК пульт (для версии 2.0 WAVGAT) https://ali.ski/WVANd
- Микрофонный модуль aliexpress, aliexpress, искать
- Кнопки, конденсаторы и крутилки ищите в любых магазинах для радиолюбителей, так как у китайцев можно купить только мешок 50 штук!
- Алик
- Куча резисторов https://ali.ski/few1rq
- Куча кнопок https://ali.ski/2A_nxM
- Куча конденсаторов https://ali.ski/lwuDxJ
- Куча потенциометров (можно обойтись без него! Читайте инструкцию) https://ali.ski/pttk-
- Куча конденсаторов для микрофона 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
СХЕМЫ
ПРОШИВКА
УПРАВЛЕНИЕ
НАСТРОЙКА ОПОРНОГО НАПРЯЖЕНИЯ. Потенциометр настройки опорного напряжения настраивается “методом тыка” пока не заработает (у меня стоит в середине). Подстройка нужна при смене источника аудио или изменении его потенциальной громкости.
- Если во время работы в режиме 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 – калибровка шума, * – вкл/выкл систему, |
ОШИБКИ И FAQ
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?
О: Адресная лента управляется по спец протоколу и работает ТОЛЬКО при подключении к драйверу (микроконтроллеру)
Источник
Светодиодный контроллер своими руками
ОБНОВЛЕНИЯ
• 30.05.19 Версия 1.0: первоначальная, вроде бы стабильная версия
• 05.06.2019 Версия 1.1:
– Добавлена настройка MIN_PWM
– Добавлена коррекция гаммы, настройка GAMMA_BRIGHT
• 10.06.2019 Версия 1.2: Добавлено управление кнопкой
• 12.07.2019 Версия 1.5 + приложение v1.2: добавлен белый канал света. Приложение работает только на 1.5 и выше!
• 27.07.2019 Версия 1.6: исправлены ошибки компиляции и баги с кнопкой
• 01.09.2019: исправлена плата Gerber_GyverRGB_DIP, подробности смотрите ниже
• 27.09.2019 Версия 1.7: исправлено запоминание настроек при управлении по BT
ОПИСАНИЕ
Захотелось мне сделать RGB свет для видео из китайских компонентов. RGB – значит нужен ШИМ контроллер, значит нужно его сделать! Вот и сделал: GyverRGB – контроллер для RGB светодиодных лент со множеством режимов и настроек, модульной структурой и различными способами управления.
Железо
Используется обыкновенная RGB светодиодная лента с общим анодом (контакты 12V G R B). Я использовал два ряда ленты с плотностью 120 диодов на метр, чтобы иметь хороший запас по яркости даже на одном цвете.
В проекте используется Arduino NANO (микроконтроллер ATmega328p). В качестве 100% совместимого аналога можно использовать Arduino UNO/Pro Mini.
Я рассматривал два варианта драйвера для светодиодной ленты: китайский RGB LED amplifier и самодельный драйвер из трёх МОСФЕТ (полевых) транзисторов. LED amplifier очень удобен в подключении, но имеет жуткий недостаток: на высоких частотах у него поднимается нижний порог яркости, что приводит к трате оттенков и вообще некорректной работе режимов.
Вывод: если контроллер не планируется использовать для видео света, то можно поставить LED amplifier и в настройках контроллера поставить низкую частоту (490 Гц), глаз такую частоту не заметит, но снятое на камеру видео будет «стробить». Если планируется использовать контроллер для создания видео света, то в обязательном порядке нужно делать свой драйвер. Также свой драйвер позволит работать с большими отрезками ленты, т.к. транзисторы можно поставить очень мощные.
Полевой транзистор подойдёт практически любой (99%), наковырять можно из материнской платы. Список популярных МОСФЕТов в корпусе to-220: IRF3205, IRF3704ZPBF, IRLB8743PBF, IRL2203NPBF, IRLB8748PBF, IRL8113PBF, IRL3803PBF, IRLB3813PBF (в порядке роста стоимости). Список популярных МОСФЕТов в корпусе D-pak: STD17NF03LT4, IRLR024NPBF, IRLR024NPBF, IRLR8726PBF, IRFR1205PBF, IRFR4105PBF, IRLR7807ZPBF, IRFR024NPBF, IRLR7821TRPBF, STD60N3LH5, IRLR3103TRPBF, IRLR8113TRPBF, IRLR8256PBF, IRLR2905ZPBF, IRLR2905PBF (в порядке роста стоимости).
Управление контроллером предусмотрено тремя способами:
- Энкодер – китайский модуль в двух вариантах
- ИК пульт – продаётся вместе с приёмником-модулем, но удобнее монтировать отдельный приёмник
- Кнопка – обычная нормально-разомкнутая тактовая кнопка
- Bluetooth – управление с приложения GyverRGB для Android
Питается система от 12V, от блока питания или батареи из трёх литиевых аккумуляторов. При питании от аккумуляторов предусмотрен «вольтметр» – делитель напряжения на резисторах, позволяющий измерить напряжение на батарее для вывода его на дисплей.
Софтовые фишки
- Автоматическое отключение дисплея по таймауту неактивности
- Несколько вариантов частоты ШИМ для драйвера:
- 490 Гц – для дешёвых LED усилителей
- 8 кГц – слышно, как пищит
- 4 кГц – работает только на самодельном драйвере
- Настраиваемая до герца
- Настраиваемое направление работы ШИМ (для готовых и самодельных усилителей)
- Автоматическое ограничение тока потребления на основе количества светодиодов и яркости каналов цвета
- Вывод напряжения питания на дисплей в вольтах или процентах
- Режим поддержания яркости при разрядке аккумулятора (при полном заряде чуть занижает яркость)
- Коррекция яркости по CRT гамме
- Матрица коррекции LUT
- 10 настраиваемых профилей
- 11 настраиваемых режимов работы для каждого профиля, из них 5 статических и 6 динамических
- Настройки хранятся в EEPROM и не сбрасываются при перезагрузке
- RGB– цвет в пространстве RGB
-
- BR – яркость (0-255)
- R – красный (0-255)
- G – зелёный (0-255)
- B – синий (0-255)
- HSV– цвет в пространстве HSV
-
- HUE – цвет (0-255)
- SAT – насыщенность (0-255)
- VAL – яркость (0-255)
- Color– яркий цвет
-
- BR – яркость (0-255)
- COL – номер цвета (0-1530)
- ColorSet– предустановленные цвета
-
- BR – яркость (0-255)
- COL – цвет
- WHITE
- SILVER
- GRAY
- BLACK
- RED
- MAROON
- YELLOW
- OLIVE
- LIME
- GREEN
- AQUA
- TEAL
- BLUE
- NAVY
- PINK
- PURPLE
- Kelvin– установка цветовой температуры
-
- BR – яркость (0-255)
- TEMP – цветовая температура, К (1000-10000)
- ColorW– плавная смена цвета
-
- BR – яркость (0-255)
- SPD – скорость (0-1000)
- STP – шаг (0-500)
- Fire– стандартный огонь
-
- BR – яркость (0-255)
- SPD – скорость (0-1000)
- STP – шаг (0-500)
- FireM– ручной огонь
-
- BR – макс. яркость (0-255)
- COL – цвет (0-255)
- SPD – скорость (0-1000)
- MIN – мин. яркость (0-255)
- Strobe– стробоскоп
-
- HUE – цвет (0-255)
- SAT – насыщенность (0-255)
- VAL – яркость (0-255)
- SPD – скорость (0-1000)
- StrobeR– стробоскоп со случайным периодом
-
- HUE – цвет (0-255)
- SAT – насыщенность (0-255)
- VAL – яркость (0-255)
- SPD – скорость (0-1000)
- Police– мигалки
-
- BR – яркость (0-255)
- SPD – скорость (0-1000)
Энкодер
- Кнопка удержана около секунды – вкл/выкл светодиоды
- Кнопка клик – навигация: выбор профиля -> выбор режима -> выбор настройки
- Смена профиля – поворот рукоятки
- Смена режима – поворот рукоятки
- Смена настройки – поворот рукоятки
- Выбор настройки – нажатие, удержание и поворот рукоятки
ИК пульт
- Кнопки 0–9 – быстрый переход к профилю с номером
- Кнопки * и # – вкл и выкл систему
- Кнопка ОК – навигация: профиль -> режим -> настройка
- Кнопки вправо/влево – смена профиля/меню/настройки
- Кнопки вверх/вниз – изменение выбранной настройки
Bluetooth
Загрузить приложение GyverRGB (для Android) и наслаждаться!
Кнопка (с версии 1.2)
- Клик: включить/выключить ленту
- Двойной клик: следующий пресет
- Тройной клик: предыдущий пресет
- Удержание: смена яркости
Кнопка вариант 2 (с версии 1.3)
- Клик: включить/выключить ленту
- Двойной клик: следующий цвет (12 цветов по кругу Иттена)
- Тройной клик: предыдущий цвет
- Удержание: смена яркости
Источник