Так в основном я хотел бы так или иначе, что, учитывая звуковой файл, как введено (наиболее вероятный mp3 или я можем использовать некоторый аудио механизм, который обработает другие типы также) от моего компьютера для управления некоторыми светодиодными индикаторами, таким образом, они будут чем-то как осциллограф, как тот в winamp.
Что я должен был бы смочь сделать это? Я интересуюсь созданием вещи все один, кодирование, аппаратные средства, и т.д.
Я иду с C++ в Windows.
Вот возможный подход (высокоуровневое описание):
У вас может быть простой микроконтроллер (MCU) в базовой схеме с несколькими подключенными светодиодами. Схема подключения светодиодов должна быть легко обнаружена. Большинство производителей микроконтроллеров также приведут образец схемы тестирования / светодиодной вспышки в техническом описании продукта вместе с образцом программы.
MCU может взаимодействовать с вашим ПК через параллельный порт (я использовал ATmega8, для которого входные контакты были совместимы по уровню с контактами параллельного порта). Он также может взаимодействовать с использованием более сложного / высокоуровневого подхода - через последовательный порт / USB-порт с использованием модуля UART для последовательного или UART-USB с вашим MCU. Затем вы можете выводить различные значения через параллельный / последовательный / USB-порт из приложения ПК в MCU, и код MCU мигает светодиодами по мере необходимости. Есть несколько статей о том, что светодиоды питания от самого параллельного порта, хотя это не рекомендуется. Я использовал inpout32.dll для прямого доступа к регистрам параллельного порта. Файл.NET framework предоставляет класс SerialPort, который вы могли бы использовать, если бы не использовали подход параллельного порта.
Что касается музыкальной стороны вещей, я никогда не имел дело с аудиофайлами в программном обеспечении. Вокруг должно быть несколько библиотек, и вы, возможно, сможете масштабировать изменения амплитуды / частоты с течением времени до числовой шкалы, отображаемой на имеющихся светодиодах. Поскольку это означает, что вам нужен базовый аудиоплеер, я уверен, что вы могли бы найти некоторую информацию о звуковой стороне приложений для ПК.
РЕДАКТИРОВАТЬ:
Исходя из своего ответа, я предположил, что это для личного проекта, и предложил подход, который был бы экономным для бюджета - несколько долларов в местном магазине электроники должны дать вам все. Это хорошее начало, но, как показывают другие ответы, вероятно, есть более масштабные решения. Начиная с комплекта - готовая плата MCU может быть проще, но дороже! Это, вероятно, будет стоить затрат, если это для профессионального проекта!
Удачи!
Похоже, хороший случай использовать комплект разработчика Arduino. По сути, это небольшое внешнее устройство, которое можно подключить к USB-порту и управлять внешней электроникой.
Что касается программного обеспечения, вам нужно будет выбрать аудиопоток, пропустить его через полосовые фильтры и установить порог. Если сигнал в полосе частот превышает пороговое значение, вы включаете светодиод, отправляя команду на ваш Arduino.
Думаю, вы хотите построить что-то вроде светодиодной стены. Сложность заключается в отображении видеосигнала (который вы можете предварительно создать с помощью плагина Winamp или специального решения) на пиксели светодиодной стены. Я немного знаю о коммерческих решениях, используемых в ивент-бизнесе. Обычно вы строите светодиодную матрицу, собирая вместе набор светодиодных полос или светодиодных плиток. Эти устройства управляются по протоколу DMX 512 . DMX 512 имеет 512 каналов с разрешением 8 бит на канал. Один светодиодный пиксель управляется через 3 канала RGB.
Программное обеспечение для управления освещением светодиодами, такое как Madrix , должно преобразовывать сигнал генератора изображения в пиксели светодиода и снова преобразовывать его в сигналы DMX. DMX несложно реализовать, это очень простой и очень надежный протокол, его можно подключить с помощью дешевых кабелей, а также доступно множество коммерческих решений в виде микроконтроллеров, адаптеров DMX / USB и т. Д.
Используйте параллельный порт для непосредственного управления светодиодами. С параллельным портом действительно легко работать, если у вас простые потребности. Взгляните на этот ресурс для примеров подключения .
Когда я учился в Роскилльском университете , мы перевернули весь корпус компьютерных наук в гигантский VU-метр для ежегодной вечеринки в кампусе.
В основном старый компьютер использовался для сэмплирования уровня звука в диапазоне от 0 до 255. Это значение напрямую выводится на "классический" параллельный порт компьютера.
Параллельный порт питал серию реле 220 В, подключенных к зеленой и красной лампочкам, которые были установлены в разных офисах CS.
Я прекрасно выглядела! Самым сильным противником был японский турист, который появился из ниоткуда и сфотографировал здание ...