Оглавление:

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

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

Видео: Измеритель уровня звука LoL Shield Audio Spectrum: 4 шага (с изображениями)
Видео: The Art of the Audio by Dr Bob Heil K9EID 2024, Ноябрь
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 от компьютера или батареек - это полностью портативное устройство. Можно было положить в пряжку шляпы или ремня. Белые светодиоды настолько яркие, что их сложно снимать на видео. Похоже, от них исходит пурпурное пламя! Устройтесь поудобнее и наслаждайтесь!

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

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

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