Крутая цветомузыка своими руками на ардуино

Добавил пользователь Дмитрий К.
Обновлено: 08.09.2024


Смотрите что получилось
Правда камера телефона плохо передает реальную цветовую картину.
Лучше смотреть в живую.
И на большом куске Led ленты будет смотреться намного красивее.

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

В последствии хочу сделать так что бы управлять всеми функциями с пульта ДУ


В этой статье я расскажу как сделать цветомузыку на Arduino своими руками без больших усилий. Несомненно, для многих начинающих радиолюбителей интересно создать свою собственную цветомузыку! Еще в 80-х годах прошлого века на этом самодельном устройстве была помешана вся молодежь в независимости от знаний в области физики и электроники. Кто разбирался в электронике — придумывал, что-то новое, кто не разбирался – копировали уже существующие схемы. И было абсолютно не важно, как это работает, главное, что работает и радует глаз. Сегодня огромный ассортимент светомузыкальных устройств имеется в продаже, кому лень паять микросхемы и транзисторы – можно просто светомузыку купить! А кому интересно повозиться несколько часов (дней) ради своего самоутверждения или самообразования – эта статья для Вас.
Познания человечества в области электроники за последние десятилетия шагнули далеко вперед. Ламповые транзисторы почти полностью вытеснены полупроводниковым приборами, лампочки со спиралью активно меняются на светодиоды, а огромные монтажные платы заменены на маленькие платки с микросхемой по центру. Так вот, нашу цветомузыку мы будем делать из микроконтроллера Arduino (я использовал Arduino uno) и дешевых белых светодиодов. Каждый светодиод будет реагировать на заданную частоту звука. Количество светодиодов будет ограничиваться лишь количеством свободных пинов микроконтроллера. Интересней, конечно, было бы сделать цветомузыку на светодиодной ленте, но выходы микроконтроллера нам 12 Вольт никак напрямую не дадут. Нужны какие нибудь усилители, например микросхема ULN2003. Схемку с использованием такой микросхемы мы рассмотрим чуть позже.
Как сказал Юрий Гагарин, поехали!
Всю электронику я размещал на дешевой гетинаксовой макетной плате 5см*6см с отверстиями. В примере паять не будем, а просто все подключим к Arduino uno посредством разъемов на плате.
Микроконтроллер Arduino будет у нас и блоком питания и усилителем сигнала и анализатором звука.
Так же нам понадобится аудиоразъем 3,5мм или штекер от наушников, много проводов (отлично подойдет витая пара), светодиоды 0,1Вт – 0,5Вт, цветной картон или любой другой светофильтр, две руки и немного энтузиазма…
Начну со скетча, заливаем в МК этот код:

Подводим аудиосигнал к аналоговому пину A0 и земле (GRD).
Светодиоды подключаем к пинам 3, 4, 5, 6 (для наглядности хватит). Ограничивающие резисторы для светодиодов не ставил, так как Ардуино большой ток на них и не даст, а вот резистор между А0 и GRD придется поставить чтоб избавиться от наводок. Резистор подбирал методом научного тыка… 10 Ом вполне нормально справляется с задачей.
Вот, что у нас получилось:


А вот схема, на которой все это разборчиво…

Цветомузыка на Arduino UNO

Сперва покажу с чего начиналось и на каком этапе находится сейчас.

Цветомузыка на ARDUINO и MSGEQ7. Общая структурная схема соединений модулей:

Структурная схема. Цветомузыка из нескольких модулей на ARDUINO

Структурная схема. Цветомузыка из нескольких модулей на ARDUINO

Пока состоит из трех модулей, впрочем, как и раньше, просто со временем все превратилось достаточно в эстетически приглядное на вид зрелище, планирую еще один модуль, силовой, — для светодиодных прожекторов 1W или 3W. Пока в нем слишком много греющихся деталей.

Первый и главный модуль — это плата ARDUINO, можно обойтись просто микросхемой ATMEGA328, с некоторой обвязкой, но для повторяемости проекта это не очень удобно, т.к плату целиком купить проще, а её изготовление обойдется дороже чем готовая ARDUINO.

Плата ARDUINO UNO R3

Плата ARDUINO UNO R3

Второй модуль – микрофонный усилитель. Почему делал именно этот, а не купил на aliexpress? Этот усилитель обладает автоматической регулировкой уровня, а микрофон захватывает очень широкий спектр частот, от очень низких до очень высоких. Работает сразу после сборки, практически не требует настройки, есть один подстрочный резистор, но его можно выставить в ручную, если не имеется тестера. Сигнал с его выхода полностью подходит для следующего модуля.

Первый рисунок – Микрофонный усилитель выполненный по технологии ЛУТ. Когда плата была готова, она мне нравилась, теперь нет.

Микрофонный усилитель на К140УД1208. ЛУТ

Микрофонный усилитель на К140УД1208. ЛУТ

Со временем модуль микрофонного усилителя превратился вот в такую плату. Теперь она мне нравится.

Микрофонный усилитель на К140УД1208

Микрофонный усилитель на К140УД1208

Ну и принципиальная схема микрофонного усилителя.

Схема. Микрофонный усилитель на К140УД1208

Схема. Микрофонный усилитель на К140УД1208

Третий модуль – плата графического, семи полосного анализатора спектра звукового сигнала, собранного на основе микросхеме MSGEQ7 ( графический семи полосный эквалайзер ).

Первый рисунок – плата семиполосный эквалайзер выполненный по технологии ЛУТ. Когда плата была готова, она мне тоже нравилась, теперь нет.

ЛУТ. Семиполосный графический эквалайзер на MSGEQ7

ЛУТ. Семиполосный графический эквалайзер на MSGEQ7

Зато теперь она превратилась вот в такое творение. Теперь она мне тоже нравится.

Семиполосный графический эквалайзер на MSGEQ7

Семиполосный графический эквалайзер на MSGEQ7

Ну и принципиальная схема:

Принципиальная схема MSGEQ7

Принципиальная схема MSGEQ7

Далее пойдет видео работы цветомузыкальной установки. Программа для ARDUINO. В паузах и при тихом сигнале наступала темнота, мне это не очень нравилось.

Здесь видео работы с доработанной программой, в паузах и при слабом сигнале вступают в работу бегущие огни.

Вы можете подработать программу под себя.
Программа для ARDUINO находится здесь.

Изучал я как-то создание плагинов визуализации для медиаплееров, и тут мой взор упал на сборку светодиодов, которые я подключал к Arduino для проверки состояния выводов при тестировании различных скетчей. А почему бы не сделать аппаратную визуализацию музыки? Так я решил сделать простенькую цветомузыку.

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

Что нам потребуется:

  • Arduino
  • Ethernet Shield
  • Светодиоды — 10 шт.
  • Резисторы 470 Ом — 10 шт.
  • Макетная плата или что-либо, на чём будете крепить светодиоды.

Схема соединения очень простая. С ней справится даже первоклассник. Светодиоды через резисторы подключаются на цифровые выводы с 0 по 9.


Вот так это поначалу выглядело у меня:


Теперь прошиваем в ардуину следующий скетч:

Всё, что он делает, это получает по протоколу UDP строку из десяти нулей и единиц и соответствующим образом зажигает светодиоды. При необходимости меняем переменные ip[] и localPort.


Теперь подключаем плагин к Winamp или AIMP (необходимо скопировать DLL-файл в папку плагинов программы) и настраиваем его. Устанавливаем IP, порт (такие как в скетче) и выбираем режим визуализации. Ethernet Shield и компьютер соединяем по локальной сети.


Для открытия настроек плагина в AIMP щёлкните по чёрному полю визуализации.

В результате у меня получилась вот такая цветомузыка. На втором видео я всё разместил в небольшой коробочке, туда же воткнул и LCD-дисплей (о его подключении к этой же ардуине и использовании я расскажу в другой раз, как допишу программу управления). Сверху светодиоды накрыл пластиковыми баночками из под фотоплёнки.

Также прикладываю исходники плагинов.

Необходимые библиотеки для скетча:
Ethernet (29.73 KB)
SPI (7.49 KB)

Работа проверялась с Arduino IDE v0.22

Автор не несёт ответственности за возможную порчу оборудования. Всё, что вы делаете — вы делаете на свой страх и риск!

В этом уроке научимся использовать функцию " tone(); " и исполним великую мелодию Star Wars .



В данном уроке нам понадобится:

Сборка:

1) Звуковой сигнал будет издаваться с помощью зуммера, его подключаем следующим образом.

Зуммер Arduino
GND GND
IO pin 3
VCC 5V или 3V

Контакт Pin3 так же может быть изменен на любой удобный Вам цифровой выход. Настраивается здесь:

2) RGB Светодиод подключается через резисторы, 1-2кОм. Самая длинная ножка (как правило, вторая) подключается к GND, а остальные ножки через резистор к цифровым портам pin 6, pin 9 , pin 10.

Читайте также: