Съдържание:

LoL Shield Audio Spectrum VU Meter: 4 стъпки (със снимки)
LoL Shield Audio Spectrum VU Meter: 4 стъпки (със снимки)

Видео: LoL Shield Audio Spectrum VU Meter: 4 стъпки (със снимки)

Видео: LoL Shield Audio Spectrum VU Meter: 4 стъпки (със снимки)
Видео: Ирония судьбы, или С легким паром, 1 серия (комедия, реж. Эльдар Рязанов, 1976 г.) 2024, Ноември
Anonim
LoL Shield Audio Spectrum VU метър
LoL Shield Audio Spectrum VU метър

Това е VU метър за аудио спектър, използващ LoL Shield за Arduino. LoL Shield е 14 x 9 LED матрица, която се вписва в Arduino като щит и се управлява чрез ефективен метод, известен като Charlieplexing. Проектиран е от Jimmie P. Rodgers. Този проект използва библиотека за бързо преобразуване на Фурие за Arduino, за да анализира аудио сигнал, да го раздели на честотни ленти и да покаже тази информация на LoL Shield. Микроконтролерът Arduino е достатъчно бърз, за да изчисли бърза трансформация на Фурие. Той отговаря на името си и е изненадващо бърз и точен. Тъй като цялата работа се извършва от микроконтролера, този проект е напълно преносим, ако използвате батерии. Уеб страницата на този проект се намира на https://andydoro.com/vulol/ & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; Необходими части:

  • LoL Shield
  • Arduino (препоръчва се Diavolino)
  • аудио жак (използвах мъжки моно 1/8 "щепсел за телефон)
  • Код на Arduino
  • захранване (DC захранване, USB кабел, 9V батерия и др.)

Стъпка 1: Сглобете LoL Shield

Сглобете LoL Shield
Сглобете LoL Shield

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

Стъпка 2: Запоявайте проводниците към аудио жака

Запояване на проводници към аудио жака
Запояване на проводници към аудио жака

Използвам мъжки моно 1/8 щепсел за телефон, както се нарича в Radioshack, но можете да използвате какъвто и да е аудио кабел, подходящ за настройката на вашата аудио система. Ако искате, можете да използвате микрофон. За този тип щепсел, Запоявах два проводника. Използвах червено и черно. LoL Shield оставя аналогови щифтове 4 и 5. свободни за входове. Моят код използва щифт 5. Можете да прикрепите червения проводник към аналогов щифт 5 на LoL щита, а черния проводник към 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:

/* FFT за LoL Shield v0.9 от Andy Doro https://andydoro.com/ базиран на FFT библиотека и код от форумите на Arduino и библиотеката Charlieplexing за LoL Shield. */

#include "Charliplexing.h"

#include "fix_fft.h"

#define AUDIOPIN 5 char im [128], данни [128]; char data_avgs [14];

int i = 0, val;

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

void loop () {

for (i = 0; i <128; i ++) {val = analogRead (AUDIOPIN); данни = val; im = 0; };

fix_fft (данни, im, 7, 0);

за (i = 0; i <64; i ++) {данни = sqrt (данни * данни +im * im ); // това получава абсолютната стойност на стойностите в масива, така че имаме работа само с положителни числа};

// средните ленти заедно за (i = 0; i <14; i ++) {data_avgs = данни [i*4] + данни [i*4 + 1] + данни [i*4 + 2] + данни [i*4 + 3]; // средно заедно data_avgs = карта (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; lt; br & amp; amp; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; усилвател; gt; Включете аудио жака към вашия стерео, iPod, компютър и т.н. Захранвайте Arduino с DC захранване, USB от вашия компютър или батерии- това е напълно преносимо. Можете да го поставите в шапка или катарама за колан. Белите светодиоди са толкова ярки, че е трудно да се заснемат на видео. Изглежда, че от тях излиза лилав пламък! Седнете и се насладете!

Състезание за микроконтролер
Състезание за микроконтролер
Състезание за микроконтролер
Състезание за микроконтролер

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

Препоръчано: