USB-цветомузыка на Arduino от AIMP

Не так давно у меня в блоге была выложена статья о том как сделать цветомузыку на arduino, где описывалась простейшая схема на светодиодах и отладочной плате Arduino Uno. Мы попросту замеряли частоту колебаний аналогового аудиосигнала и зажигали соответствующий светодиод. Примитивно, но работает. Так вот… эта схема не всегда удобна и имеет свои минусы:

  • Не всегда правильно дробит аудиопоток на каналы
  • На одни и те де ноты часто загораются разные лампы
  • Часто светодиоды мигают от наводок
  • Система не реагирует на тихий звук
  • Не у всех компьютеров есть несколько аудиовыходов

Сегодня я расскажу о другом способе устроить дискотеку у себя в комнате с помощью той же Ардуино и светодиодов, только теперь при помощи плеера Aimp и плагина визуализации, который я недавно нашел в сети…

Вот он этот плагин:

Cкачать плагин vis_nfLED

Внимание! Плагин будет работать на AIMPе версии 3.0 и выше.

Работает плагин как обычный плагин визуализации, вот только вместо замысловатых картинок на экране компьютера выводит байты в последовательный порт, которые мы будем принимать на Arduino и уже зажигать наши фонари.

Дальше пошаговая инструкция.

1.Скачиваем плагин и кидаем в папку с плагинами. После перезагрузки AIMPа он должен появиться в списке плагинов визуализации. Выбираем его из списка. Кликаем по области визуализации и в открывшемся окне выбираем порт, к которому мы планируем подключать Arduino (я использовал ардуино нано), а так же выбираем режим цветомузыки:

2. Закрываем плеер(если плагин установлен, лучше одновременно не открывать AIMP и Arduino IDE из за использования одного и того же порта, ну или используйте разные порты). Заливаем скетч в микроконтроллер:

int buf[10];
int k=0;
int incomingByte;
 
void setup() {
 Serial.begin(115200);
 
 for (int i=2; i<12; i++)
 {
 pinMode(i,OUTPUT);
 digitalWrite(i, LOW);
 buf[i]=0;
 }
}
 
void loop()
{
 while (Serial.available() > 0)
 {
 incomingByte = Serial.read();
 
 
 if (incomingByte == '#')
 {
 k=0;
 for (int i=0; i<10; i++)
 {
 if (buf[i]!='0')
 {
 digitalWrite(i+2,HIGH);
 }
 else
 {
 digitalWrite(i+2,LOW);
 }
 }
 
 }
 else
 {
 
 buf[k]=incomingByte;
 k++;
 }
 
 
 }
}

3. Подключаем светодиоды анодом к пинам 2 — 11, запускаем AIMP и проверяем работоспособность системы.

4. Оформляем нашу цветомузыку как душе угодно… Вот вариант из предыдущей статьи про цветомузыку на Arduino:

Ну вот и все. Надеюсь, у Вас все получится. Спасибо за уделенное внимание и удачи в Ваших самоделках.

 

10 комментариев к “USB-цветомузыка на Arduino от AIMP”

  1. гораздо универсальнее анализировать аналоговый сигнал и на этом принципе сделать цветомузыку будет работать со всеми плеерами, а не привязываться к АИМПу В смысле с помощью чего ? Снимать сигнал с выхода аудиокарты. Преобразовать аналоговый сигнал в цифровой, разложить на частоты, моргать лампочками. Или вы для контроллера тоже не умеете программы писать?

    1. abookz.net, в одной из предыдущих статей описан вариант с аналоговым сигналом. Но это тоже не всегда удобно. Когда работаем с компьютером в данном варианте достаточно одного лишь кабеля USB, а для обработки аналогового сигнала нужно уже больше проводов…

    2. как его подстроить? оно у меня под музыку просто светится и всё, почти не моргает

      1. Кликните левой кнопкой мыши по области визуализации AIMP — появится окошко с настройками плагина. Там можно выбрать способ визуализации. Если все собрано и прошито правильно — моргать будет по другому.

    3. AIMP может заглядывать вперед трека и делать предварительный анализ для более быстрого анализа и лучшего предсказания.

  2. Не работает ссылка на архив, поправьте пожалуйста. Хотел бы попробовать повторить только на более мощных ледах

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

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