Хабрахабр

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

image

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Показать больше

Похожие публикации

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»