[Из песочницы] Цветомузыка для светодиодной ленты WS2812, Аrduino и ПК

Поздравляю всех с новым годом! Перед новым годом собрал для дома цветомузыку на светодиодной ленте WS2812. Проект получился простым для повторения и не дорогим.

Формирование цветомузыкальных программ осуществляется контроллером Arduino nano на основании данных полученных от программы «CMU.EXE». Программа «CMU.EXE» для персонального компьютера выполняет роль 20 полосного анализатора спектра и пульта управления программами.

Данная организация позволит всем желающим достаточно просто собрать цветомузыку. Любители программирования могут, не вникая в тонкости цифровой обработки аудио сигналов, создавать свои цветомузыкальные программы в простой среде Arduino IDE.
→ Скетчи для Arduino и программа «CMU.EXE» представлены на GitHub

В проекте предусмотрены два вида подключения к персональному компьютеру.

Первый вариант, непосредственное подключение к USB ПК, скетч COMtoLed.

j2dsnacytdcq8ykt2rwoojismne.jpeg


Второй вариант, подключение через радиомост построенный на nRF24L01, скетчи COMtoRF и RFtoLed.

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 или любого другого.

Внешний вид программы:

jp9qg7op8oz211aqhjw7jebmajg.jpeg


afvrgouyb6xt8602ayrveynlnx8.jpeg


nmxqg8kk9_sddiurphoibkugzcs.jpeg


Подключение к ITUNES с использованием виртуального аудиокабеля и проигрыванием через AIRPlay:

mscy958yhudbpgwobdrp_sql2cw.jpeg

Видео работы цветомузыкальной представлено на youtube:




Спасибо за внимание!

© Geektimes