Формирование цветомузыкальных программ осуществляется контроллером Arduino nano на основании данных полученных от программы «CMU.EXE». Программа «CMU.EXE» для персонального компьютера выполняет роль 20 полосного анализатора спектра и пульта управления программами.
Данная организация позволит всем желающим достаточно просто собрать цветомузыку. Любители программирования могут, не вникая в тонкости цифровой обработки аудио сигналов, создавать свои цветомузыкальные программы в простой среде Arduino IDE.
> Скетчи для Arduino и программа «CMU.EXE» представлены на GitHub
В проекте предусмотрены два вида подключения к персональному компьютеру.
Первый вариант, непосредственное подключение к USB ПК, скетч COMtoLed.
![](https://habrastorage.org/webt/j2/ds/na/j2dsnacytdcq8ykt2rwoojismne.jpeg)
Второй вариант, подключение через радиомост построенный на nRF24L01, скетчи COMtoRF и RFtoLed.
![](https://habrastorage.org/webt/u9/xg/mv/u9xgmvltfxlxrfum_ec5f4eff88.jpeg)
Вы можете использовать имеющиеся в скетче цветомузыкальные и динамические подпрограммы или заменить их своими. Все цветомузыкальные программы в скетче выполнены в виде отдельных подпрограмм, это облегчит понимание представленного исходного кода и написание своих подпрограмм.
Для работы контроллера Аrduino вам потребуется
1. Установить в Arduino IDE библиотеки: Adafruit_Neopixels, IRremote, RF24(если используется беспроводной вариант)
2. Установить в скетче:
— Количество светодиодов в вашей ленте:
#define stripLed 120 // количество светодиодов в ленте
— Номера выходов к которым подключена ваша лента и ИК приёмник ДУ:
#define stripPin 2 // выход управления светодиодной лентой
#define irPin 3 // вход IR
— Номера контактов для управления радио модулем (если используется):
RF24 radio(9, 10); // Объект radio для работы с nRF24, номера выводов nRF24L01+ (CE, CSN)
На данный момент в скетче реализованы 7 цветомузыкальных программ и более 70 вариантов бегущих огней (по китайскому исчислению, другой цвет = другая программа).
Программа «CMU.EXE» для персонального компьютера достаточно сложна и предлагается в виде исполняемого модуля без исходного кода.
Цветомузыкальная программа «CMU.EXE» может принимать аудио поток с любого записывающего звукового устройства персонального компьютера. Например: микшер, линейный вход, микрофон или любой виртуальный аудио кабель.
Используя микшер или виртуальный аудио кабель можно получить аудио поток из любого аудио плеера. Например: ITUNES, AIMP, VLC или любого другого.
Внешний вид программы:
![](https://habrastorage.org/webt/jp/9q/g7/jp9qg7op8oz211aqhjw7jebmajg.jpeg)
![](https://habrastorage.org/webt/af/vr/go/afvrgouyb6xt8602ayrveynlnx8.jpeg)
![](https://habrastorage.org/webt/nm/xq/g8/nmxqg8kk9_sddiurphoibkugzcs.jpeg)
Подключение к ITUNES с использованием виртуального аудиокабеля и проигрыванием через AIRPlay:
![](https://habrastorage.org/webt/ms/cy/95/mscy958yhudbpgwobdrp_sql2cw.jpeg)
Видео работы цветомузыкальной представлено на youtube:
Спасибо за внимание!
Комментарии (15)
boojum
26.01.2018 17:56Программа «CMU.EXE» для персонального компьютера достаточно сложна и предлагается в виде исполняемого модуля без исходного кода.
Тем более интересно бы ее исходники. Дельфи, насколько я понял.
Стыдно показывать? Или «коммерческая тайна»? ;)
Я процентов на 99 уверен, что это ложное срабатывание. Но осадочек-то остался..
Alex_ME
26.01.2018 21:32Я как-то пытался сделать такое пару лет назад. https://www.youtube.com/watch?v=YlcybAA-tV4. Звук очень-очень-очень тихий получился, еле слышно.
Я разбивал спектр на куски, интенсивность звука в этом участке определяла цвет светодиодов. Получилась фигня полная, видно только на очень ритмичной музыке, такой как We Will Rock You из видео.
У Вас куда лучше. Как понимаю, "радуга" фиксирована, а громкость участка спектра определяет яркость светодиодов?
Программа «CMU.EXE» для персонального компьютера выполняет роль 20 полосного анализатора спектра и пульта управления программами.
Можете сказать, какой диапазон частот обрабатываете? Сколько отсчетов в БПФ? Просто по моим наблюдениям, во основном все интересное сосредоточено в нижних частотах, а уже выше нескольких килогерц почти ничего нет.
CyberBot
27.01.2018 00:12Можно сделать цветомузыку, без каких либо подключений к ПК, через микрофон.
www.youtube.com/watch?v=mKyPXAuKfyM
GennPen
На сколько помнится, с ардуины цифру на ленту лучше пускать через резистор 400-500 Ом.
yokotoka
Кстати, вы могли бы пояснить причину этой рекомендации? Не в первый раз ее встречаю.
Defaultnickname
Ограничение по току. 5в, 500ом = 10 мА.
sterr
Стандартное ограничение тока. При замыкании и т.п. ардуина не сгорит.
DC_Offset
Я так понимаю, для ограничения тока пина на случай замыкания на землю. Ну или один из светодиодов поджарится и превратится в перемычку между землей, питанием и данными))