LoL Shield audio spektra VU mērītājs: 4 soļi (ar attēliem)
LoL Shield audio spektra VU mērītājs: 4 soļi (ar attēliem)
Anonim
LoL Shield audio spektra VU mērītājs
LoL Shield audio spektra VU mērītājs

Šis ir audio spektra VU mērītājs, izmantojot LoL vairogu Arduino. LoL Shield ir 14 x 9 LED matrica, kas kā vairogs iekļaujas Arduino un tiek kontrolēta, izmantojot efektīvu metodi, kas pazīstama kā Charlieplexing. To izstrādāja Džimijs P. Rodžerss. Šis projekts izmanto Arduino ātras Furjē transformācijas bibliotēku, lai analizētu audio signālu, sadalītu to frekvenču joslās un parādītu šo informāciju LoL vairogā. Arduino mikrokontrolleris ir pietiekami ātrs, lai aprēķinātu ātru Furjē transformāciju. Tas atbilst savam nosaukumam un ir pārsteidzoši ātrs un precīzs. Tā kā visu darbu veic mikrokontrolleris, šis projekts ir pilnībā pārnēsājams, ja izmantojat baterijas. Šī projekta vietne atrodas vietnē 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; 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; gt; Nepieciešamās detaļas:

  • LoL vairogs
  • Arduino (ieteicams Diavolino)
  • audio ligzda (es izmantoju vīriešu mono 1/8 "tālruņa spraudni)
  • Arduino kods
  • barošanas avots (līdzstrāvas padeve, USB kabelis, 9V akumulators utt.)

1. darbība: salieciet LoL vairogu

Salieciet LoL vairogu
Salieciet LoL vairogu

Izpildiet šeit sniegtos norādījumus, lai saliktu LoL vairogu. Redzi, tas nemaz neaizņēma daudz laika!

2. solis: lodēt audio vadu vadus

Lodēšanas vadi pie audio ligzdas
Lodēšanas vadi pie audio ligzdas

Es izmantoju vīriešu mono 1/8 collu tālruņa spraudni, kā to sauc Radioshack, taču jūs varat izmantot jebkuru audio kabeli, kas ir piemērots jūsu audio sistēmas iestatīšanai. Ja vēlaties, varat izmantot mikrofonu. Šim spraudņa veidam Es lodēju divus vadus. Es izmantoju sarkanu un melnu. LoL Shield atstāj analogās tapas 4 un 5 brīvas ievadīšanai. Mans kods izmanto tapu 5. Jūs varat pievienot sarkano vadu LoL Shield 5. analogajai tapai un melno vadu GND Jums nav nepieciešams to pielodēt, es vienkārši izliku vadu un salocīju.

3. solis: Programmējiet Arduino

Programma Arduino
Programma Arduino

Tagad mums ir jāprogrammē Arduino, lai kontrolētu LoL vairogu.

Lai kontrolētu LoL vairogu, ieteicams izmantot Diavolino, lai novērstu "dubultošanos" uz gaismas diodēm, jo zaļā virsmas stiprinājuma gaismas diode ir savienota ar standarta Arduino 13. tapu, bet standarta Arduino darbosies labi.

Tam nepieciešamas divas Arduino bibliotēkas: - FFT bibliotēka, kas atrodama Arduino forumā, - Charlieplexing bibliotēka LoL vairogam

Bibliotēku instalēšana Arduino var būt nedaudz biedējoša, ja neesat to darījis iepriekš, taču jums viss izdosies!

Izpildiet norādījumus par Arduino bibliotēku instalēšanu šeit:

www.arduino.cc/en/guide/libraries

FFT bibliotēka pārtrauc audio signālu 64 frekvenču joslās. LoL Shield ir 14 x 9 gaismas diodes. Vidēji 64 frekvenču joslas kopā veido 14 frekvenču joslas. Mēs izmetam dažus datus, jo 14 nesadalās 64 vienmērīgi, bet gan whatsvs. Katra frekvenču diapazona vērtība tiek mainīta no 0 līdz 9.

Jūs varat nokopēt Arduino kodu zemāk, iegūt kodu no GitHub (ieteicams) vai lejupielādēt. ZIP failu, kas ietver bibliotēkas un Arduino kodu.

Šeit ir GitHub saite:

github.com/andydoro/LoLShield-FFT

Zemāk ir Arduino kods:

/* FFT for LoL Shield v0.9 Andy Doro https://andydoro.com/, pamatojoties uz FFT bibliotēku un kodu no Arduino forumiem un Charlieplexing bibliotēkas LoL Shield. */

#include "Charliplexing.h"

#include "fix_fft.h"

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

int i = 0, val;

void setup () {LedSign:: Init (); // Inicializē LoL vairogu}

void loop () {

par (i = 0; i <128; i ++) {val = analogRead (AUDIOPIN); dati = val; im = 0; };

fix_fft (dati, im, 7, 0);

par (i = 0; i <64; i ++) {data = sqrt (data * data +im * im ); // tas iegūst masīva vērtību absolūto vērtību, tāpēc mēs nodarbojamies tikai ar pozitīviem skaitļiem};

// vidējās joslas kopā (i = 0; i <14; i ++) {data_avgs = dati [i*4] + dati [i*4 + 1] + dati [i*4 + 2] + dati [i*4 + 3]; // vidēji kopā data_avgs = karte (data_avgs , 0, 30, 0, 9); // LoL pārveidot vērtības}

// iestatiet LoLShield

par (int x = 0; x <14; x ++) {par (int y = 0; y <9; y ++) {ja (y <data_avgs [13-x]) {// 13-x apgriež joslas tik zemu līdz augstām frekvencēm tiek attēlotas no kreisās uz labo pusi. LedSign:: Set (x, y, 1); // ieslēgt gaismas diodi} else {LedSign:: Set (x, y, 0); // izslēdziet gaismas diodi}}}

}

4. solis: izbaudiet

Izbaudi!!
Izbaudi!!

& 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; gt; Pievienojiet audio ligzdu stereo, iPod, datoram utt. Barojiet Arduino ar līdzstrāvas avotu, USB no datora vai baterijām- tas ir pilnīgi pārnēsājams. Jūs to varētu ievietot cepurē vai jostas sprādzē. Baltās gaismas diodes ir tik spilgtas, ka ir grūti uzņemt video. Izskatās, ka no tām plūst purpursarkana liesma! Sēdies un izbaudi!

Mikrokontrolleru konkurss
Mikrokontrolleru konkurss
Mikrokontrolleru konkurss
Mikrokontrolleru konkurss

Mikrokontrolleru konkursa finālists

Ieteicams: