Site Loader

Содержание

Собираем цветомузыку к Новому году / Хабр

Всем привет!

Скоро новый год и нужно как то оригинально украсить свою комнату к празднику. Для этого идеально подходит цветомузыка, в основе которой Ардуино и светодиодная лента ws2812b.

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

Особенность этой цветомузыки в том, что ее не нужно подключать к источнику аудио сигнала, так как она получает аудио данные, благодаря встроенному в нее модулю микрофона MAX9812. Он подключен через усилитель напряжения к АЦП ардуины. Усилитель собран на транзисторе КТ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 Nano припаивать конденсатор не придется, он уже распаян на этой плате.

Основные комплектующие

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

Скетч для Ардуино

Я использовал в своем проекте, код цветомузыки Lumazoid с небольшими модификациями. Оригинальный скетч можно скачать с гитхаба.

Еще нужно добавить в папку libraries, используемые в проекте дополнительные библиотеки NeoPixel.h и ffft.h

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

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

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

Если удерживать кнопки color, pattern и вращать потенциометр param, то можно ограничивать частотный диапазон убирая высокие — средние и так далее до самых низких частот(красный светодиод). Например если Вам нужно что бы цветомузыка реагировала только на низкие звуки, то достаточно оставить только низкий диапазон частот.

Видео демонстрирующее возможности цветомузыки.

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


P.S.

До НГ хочу упростить схему подключения микрофона, буду использовать max9814, без дополнительной обвязки. Наличие АРУ в MAX9814 даст возможность цветомузыке работать без перегрузок при разных уровнях громкости звука.

Надеюсь я ничего не упустил. Если у Вас возникнут вопросы, я с удовольствием на них отвечу.

Схема цветомузыки на RGB-светодиодной ленте

Цветомузыка на RGB-светодиодах

Пик популярности цветомузыкальных установок приходится на 80-е годы прошлого века. Сейчас о них как-то почти позабыли. И все же, время не стоит на месте, и есть новые технологии, способные оживить «цветомузыку» в новом виде. Вот, например, трехцветные светодиодные RGB-ленты или гирлянды, они могут быть значительной длины и работать даже как осветительный прибор. Только, управляются они обычно по программе, как ёлочные гирлянды или реклама, ну или можно менять с их помощью цвет освещения в помещении. А если все это будет завязано на музыку? Представьте, экран ЦМУ размером с потолок! Но для этого нужно соответствующее устройство управления.

На рисунке показана экспериментальная схема ЦМУ, работающая с RGB-свето-диодной лентой или гирляндой. Все как у «типовой» ЦМУ, — три частотных канала, три выходных ключа, к которым соответственно подключены три цвета RGB-светодиодной ленты (или гирлянды).
Схема полосовых фильтров выполнена на микросхемах LM567.

Микросхемы LM567 являются тональными декодерами с ФАПЧ, они предназначены для работы в системах управления с частотным кодирование и представляют собой активные фильтры с очень узкой полосой захвата ФАПЧ.

В данном случае, чтобы перекрыть весь звуковой диапазон хотя бы от 50 Гц до 12000 Гц на три полосы нужно расширить полосы захвата ФАПЧ микросхем. Полоса захвата ФАПЧ ИМС LM567 зависит от конденсатора на выводе 2, чем его емкость больше, тем уже полоса. Обычно там несколько мкФ, но здесь емкости этих конденсаторов уменьшены до 0,047 мкФ, в результате полоса захвата очень расширилась, и стала достаточной для использования микросхем LM567 в качестве фильтров в цветомузыкальной установке.

Диапазон входного напряжения ЗЧ на входе ИМС LM567 — 20-200 мВ, при частоте, соответствующей полосе настройки фильтра происходит захват. Если частота входного сигнала лежит в пределах полосы на выходе ИМС LM567 открывается ключ, между выводом 8 и общим минусом питания.

Входной сигнал поступает на разъем Х1, номинальная величина входного напряжения ЗЧ должна быть в районе 100-300 мВ. Это напряжение поступает на три регулятора на переменных резисторах R1, R6, R11. Этими переменными резисторами в процессе работы устройства устанавливаются оптимальные уровни ЗЧ сигналов по частотным каналам, конкретно для каждого случая воспроизведения, так чтобы получить желаемый эффект.

Значения средних частот полос устанавливаются RC-цепями, подключенными между выводами 5 и 6 микросхем LM567. Подсчитать их можно по формуле:

F = 1/ (1,1*R*C)

F — частота в кГц, R — сопротивление в кОм, С — емкость в мкФ.

Соответственно, центральные частоты выбраны 150 Гц, 900 Гц, и 9000 Гц. При желании, пользуясь вышеуказанной формулой можно выбрать другие центральные частоты полос. При этом можно подбирать не только конденсаторы, но и резисторы (включенные между выводами 5 и 6 ИМС LM567).

Рассмотрим работу на примере низкочастотного канала на А1. Пока сигнала частотой в полосе частот фильтра нет, либо его уровень мал, на выходе, на выводе 8 А1 будет напряжение логической единицы (выходной ключ закрыт, выход подтянут к плюсу питания через резистор R2). На элементах D1.1-D1.2 выполнен триггер Шмитта, его выходом является выход элемента D1.1, поэтому когда на выходе А1 единица, на выходе D1.1 имеется логический ноль. Ключ на полевом мощном транзисторе VT1 закрыт и питание на R-часть светодиодной RGB-ленты не поступает.


Если на входе А1 есть напряжение ЗЧ с частотой в полосе частот фильтра, и его уровень достаточен для захвата, на выходе, на выводе 8 А1 будет напряжение логического нуля (выходной ключ открыт). На выходе D1.1 при этом — логическая единица. Транзистор VT1 открывается и включает питание R-части светодиодной RGB-ленты.

Аналогично работают и два других канала, среднечастотный на А2 и высокочастотный на А3, разница только в частоте входного напряжения ЗЧ.

В принципе, затворы полевых ключевых транзисторов можно и непосредственно подключить к выходам LM567, но, во-первых, схема будет работать наоброт, то есть, когда сигнала нет светодиодная лента будет гореть, а когда есть, — гаснуть. И во-вторых, транзисторы будут перегреваться, потому что будет затянут во времени процесс их открывания, и существенное время они будут находиться в среднем состоянии, когда на канале падает значительное напряжение, и мощность. Триггер Шмитта устраняет эти проблемы.
Монтаж выполнен на макетной плате.

Снегирев И.
Источник: Журнал Радиоконструктор №1-2016

—>