Измеритель уровня звука LoL Shield Audio Spectrum: 4 шага (с изображениями)
Измеритель уровня звука LoL Shield Audio Spectrum: 4 шага (с изображениями)
Anonim
Измеритель уровня звука LoL Shield Audio Spectrum
Измеритель уровня звука LoL Shield Audio Spectrum

Это измеритель уровня звука VU, использующий LoL Shield для Arduino. LoL Shield - это светодиодная матрица 14 x 9, которая устанавливается на Arduino в качестве экрана и управляется эффективным методом, известным как Charlieplexing. Он был разработан Джимми П. Роджерсом. В этом проекте используется библиотека быстрого преобразования Фурье для Arduino, чтобы анализировать аудиосигнал, разбивать его на полосы частот и отображать эту информацию на экране LoL Shield. Микроконтроллер Arduino достаточно быстр, чтобы вычислить быстрое преобразование Фурье. Он оправдывает свое название и на удивление быстр и точен. Поскольку всю работу выполняет микроконтроллер, этот проект полностью портативен, если вы используете батарейки. Веб-страница этого проекта находится по адресу https://andydoro.com/vulol/ & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; lt; br / & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; gt; Требуемые детали:

  • LoL Shield
  • Ардуино (рекомендуется Дьяволино)
  • аудиоразъем (я использовал штекер моно 1/8 дюйма)
  • Код Arduino
  • источник питания (источник постоянного тока, USB-кабель, аккумулятор 9 В и т. д.)

Шаг 1: соберите LoL Shield

Соберите LoL Shield
Соберите LoL Shield

Следуйте инструкциям по сборке LoL Shield здесь. Видите, это совсем не заняло много времени!

Шаг 2: припаяйте провода к аудиоразъему

Припаяйте провода к аудиоразъему
Припаяйте провода к аудиоразъему

Я использую штекерный моно 1/8 телефонный штекер, как его называют в Radioshack, но вы можете использовать любой аудиокабель, подходящий для вашей аудиосистемы. Если хотите, вы можете использовать микрофон. Я припаял два провода. Я использовал красный и черный. LoL Shield оставляет аналоговые контакты 4 и 5 свободными для входов. В моем коде используется контакт 5. Вы можете подключить красный провод к аналоговому контакту 5 LoL Shield, а черный провод - к GND. Паять не нужно, я просто пропустил провод и согнул.

Шаг 3: запрограммируйте Arduino

Программа Arduino
Программа Arduino

Теперь нам нужно запрограммировать Arduino для управления LoL Shield.

Рекомендуется использовать Diavolino для управления LoL Shield, чтобы предотвратить эффект «ореола» на светодиодах из-за зеленого светодиода для поверхностного монтажа, подключенного к контакту 13 стандартной Arduino, но стандартный Arduino будет работать нормально.

Для этого требуются две библиотеки Arduino: - библиотека FFT, найденная на форуме Arduino; - библиотека Charlieplexing для LoL Shield.

Установка библиотек для Arduino может быть немного сложной, если вы этого не делали раньше, но у вас все будет хорошо!

Следуйте инструкциям по установке библиотек Arduino здесь:

www.arduino.cc/en/guide/libraries

Библиотека FFT разбивает аудиосигнал на 64 полосы частот. LoL Shield - это 14 x 9 светодиодов. Мы усредняем 64 полосы частот вместе в 14 полос частот. Мы отбрасываем некоторые данные, потому что 14 не делится на 64 равномерно, но что-то не так. Значение каждого частотного диапазона переназначено с 0 на 9.

Вы можете скопировать приведенный ниже код Arduino, получить код с GitHub (рекомендуется) или загрузить файл. ZIP, который включает библиотеки и код Arduino.

Вот ссылка на GitHub:

github.com/andydoro/LoLShield-FFT

Ниже приведен код Arduino:

/ * БПФ для LoL Shield v0.9 от Энди Доро https://andydoro.com/ на основе библиотеки БПФ и кода с форумов Arduino и библиотеки Charlieplexing для LoL Shield. * /

#include "Charliplexing.h"

#include "fix_fft.h"

#define AUDIOPIN 5 char im [128], data [128]; char data_avgs [14];

int i = 0, val;

void setup () {LedSign:: Init (); // Инициализирует LoL Shield}

void loop () {

для (я = 0; я <128; я ++) {val = analogRead (AUDIOPIN); data = val; im = 0; };

fix_fft (данные, im, 7, 0);

для (я = 0; я <64; я ++) {данные [я] = sqrt (данные [я] * данные [я] + им [я] * им [я]); // получает абсолютное значение значений в массиве, поэтому мы имеем дело только с положительными числами};

// средние столбцы вместе для (i = 0; i <14; i ++) {data_avgs = data [i * 4] + data [i * 4 + 1] + data [i * 4 + 2] + data [i * 4 + 3]; // усреднение вместе data_avgs = map (data_avgs , 0, 30, 0, 9); // переназначить значения для LoL}

// устанавливаем LoLShield

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x меняет бары так низко до высоких частот представлены слева направо. LedSign:: Set (x, y, 1); // включаем светодиод} else {LedSign:: Set (x, y, 0); // выключаем светодиод}}}

}

Шаг 4: Наслаждайтесь

Наслаждаться!!
Наслаждаться!!

& amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; lt; br & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; lt; br & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; gt; Подключите аудиоразъем к стереосистеме, iPod, компьютеру и т. Д. Подключите Arduino к источнику питания постоянного тока, USB от компьютера или батареек - это полностью портативное устройство. Можно было положить в пряжку шляпы или ремня. Белые светодиоды настолько яркие, что их сложно снимать на видео. Похоже, от них исходит пурпурное пламя! Устройтесь поудобнее и наслаждайтесь!

Конкурс микроконтроллеров
Конкурс микроконтроллеров
Конкурс микроконтроллеров
Конкурс микроконтроллеров

Финалист конкурса микроконтроллеров

Рекомендуемые: