INHOUDSOPGAWE:

LoL Shield Audio Spectrum VU Meter: 4 stappe (met foto's)
LoL Shield Audio Spectrum VU Meter: 4 stappe (met foto's)

Video: LoL Shield Audio Spectrum VU Meter: 4 stappe (met foto's)

Video: LoL Shield Audio Spectrum VU Meter: 4 stappe (met foto's)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, November
Anonim
LoL Shield Audio Spectrum VU Meter
LoL Shield Audio Spectrum VU Meter

Dit is 'n klankspektrum VU -meter wat die LoL -skild vir Arduino gebruik. Die LoL Shield is 'n 14 x 9 LED -matriks wat as 'n skild op die Arduino pas en word beheer deur 'n doeltreffende metode bekend as Charlieplexing. Dit is ontwerp deur Jimmie P. Rodgers. Hierdie projek gebruik 'n Fast Fourier Transform -biblioteek vir Arduino om 'n klanksignaal te ontleed, in frekwensiebande op te deel en die inligting op die LoL -skild te vertoon. Die Arduino -mikrobeheerder is vinnig genoeg om 'n vinnige Fourier -transformasie te bereken. Dit voldoen aan sy naam en is verbasend vinnig en akkuraat. Aangesien al die werk deur die mikrobeheerder gedoen word, is hierdie projek heeltemal draagbaar as u batterye gebruik. Die webblad vir hierdie projek is geleë op 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; 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; gt; Onderdele benodig:

  • LoL Shield
  • Arduino (Diavolino aanbeveel)
  • klankaansluiting (ek het 'n manlike 1/8 duim -aansluiting gebruik)
  • Arduino kode
  • kragtoevoer (DC -kragbron, USB -kabel, 9V -battery, ens.)

Stap 1: Monteer LoL Shield

Monteer LoL Shield
Monteer LoL Shield

Volg die instruksies om die LoL -skild hier te monteer. Sien, dit het glad nie lank geduur nie!

Stap 2: Soldeerdrade na die klankaansluiting

Soldeerdrade na die klankaansluiting
Soldeerdrade na die klankaansluiting

Ek gebruik 'n manlike 1/8 duim -aansluiting, soos dit by Radioshack genoem word, maar jy kan die klankkabel gebruik wat geskik is vir die opstelling van jou klankstelsel. As jy wil, kan jy 'n mikrofoon gebruik. Ek het twee drade gesoldeer. Ek het rooi en swart gebruik. Die LoL Shield laat analoog penne 4 en 5 vry vir insette. My kode gebruik pen 5. Jy kan die rooi draad aan analoog pen 5 van die LoL Shield en die swart draad aan GND heg Jy hoef dit nie in te soldeer nie; ek het net die draad deurgedraai en gebuig.

Stap 3: Program Arduino

Program Arduino
Program Arduino

Nou moet ons die Arduino programmeer om die LoL -skild te beheer.

Dit word aanbeveel om die Diavolino te gebruik om die LoL -skild te beheer om 'spook' -effekte op die LED's te voorkom as gevolg van die groen LED -oppervlak wat op pin 13 op die standaard Arduino gekoppel is, maar 'n standaard Arduino sal goed werk.

Hiervoor is twee Arduino -biblioteke nodig: - die FFT -biblioteek op die Arduino -forum - die Charlieplexing -biblioteek vir die LoL Shield

Die installering van biblioteke vir Arduino kan effens skrikwekkend wees as u dit nog nie gedoen het nie, maar dit sal goed gaan!

Volg die instruksies vir die installering van Arduino -biblioteke hier:

www.arduino.cc/en/guide/libraries

Die FFT -biblioteek breek die klanksein in 64 frekwensiebande. Die LoL Shield is 14 x 9 LED's. Ons gemiddelde die 64 frekwensiebande saam in 14 frekwensiebande. Ons gooi 'n paar gegewens weg omdat 14 nie eweredig in 64 verdeel nie, maar wel. Die waarde van elke frekwensiebereik word van 0 tot 9 herverander.

U kan die Arduino -kode hieronder kopieer, die kode kry van GitHub (aanbeveel), of die. ZIP -lêer, wat die biblioteke en Arduino -kode bevat, aflaai.

Hier is die GitHub -skakel:

github.com/andydoro/LoLShield-FFT

Hieronder is die Arduino -kode:

/* FFT for LoL Shield v0.9 deur Andy Doro https://andydoro.com/gebaseer op FFT -biblioteek en kode van die Arduino -forums en die Charlieplexing -biblioteek vir die LoL Shield. */

#sluit "Charliplexing.h" in

#sluit "fix_fft.h" in

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

int i = 0, val;

ongeldige opstelling () {LedSign:: Init (); // Begin die LoL -skild}

leemte -lus () {

vir (i = 0; i <128; i ++) {val = analogRead (AUDIOPIN); data = val; im = 0; };

fix_fft (data, im, 7, 0);

vir (i = 0; i <64; i ++) {data = sqrt (data * data +im * im ); // dit kry die absolute waarde van die waardes in die skikking, dus het ons slegs te doen met positiewe getalle};

// gemiddelde balke saam vir (i = 0; i <14; i ++) {data_avgs = data [i*4] + data [i*4 + 1] + data [i*4 + 2] + data [i*4 + 3]; // gemiddeld saam data_avgs = kaart (data_avgs , 0, 30, 0, 9); // verander waardes vir LoL}

// stel LoLShield in

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x keer die balke so laag om tot hoë frekwensies word van links na regs voorgestel. LedSign:: Stel (x, y, 1); // stel die LED aan} else {LedSign:: Stel (x, y, 0); // sit die LED af}}}

}

Stap 4: Geniet dit

Geniet dit !!
Geniet dit !!

& 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; Sluit die klankaansluiting aan op u stereo, iPod, rekenaar, ens. Koppel die Arduino met 'n GS-kragbron, USB vanaf u rekenaar of batterye- dit is heeltemal draagbaar. Jy kan dit in 'n hoed of 'n gordelgesp steek. Die wit LED's is so helder dat dit moeilik is om op video vas te lê. Dit lyk asof daar 'n pers vlam van hulle af kom! Sit terug en geniet!

Mikrokontroleur -kompetisie
Mikrokontroleur -kompetisie
Mikrokontroleur -kompetisie
Mikrokontroleur -kompetisie

Finalis in die mikrobeheerderkompetisie

Aanbeveel: