Innholdsfortegnelse:

LoL Shield Audio Spectrum VU Meter: 4 trinn (med bilder)
LoL Shield Audio Spectrum VU Meter: 4 trinn (med bilder)

Video: LoL Shield Audio Spectrum VU Meter: 4 trinn (med bilder)

Video: LoL Shield Audio Spectrum VU Meter: 4 trinn (med bilder)
Video: ВСЯ НОЧЬ С ПОЛТЕРГЕЙСТОМ В ЖИЛОМ ДОМЕ, я заснял жуткую активность. 2024, November
Anonim
LoL Shield Audio Spectrum VU Meter
LoL Shield Audio Spectrum VU Meter

Dette er et lydspektrum VU måler som bruker LoL Shield for Arduino. LoL Shield er en 14 x 9 LED -matrise som passer på Arduino som et skjold og styres gjennom en effektiv metode kjent som Charlieplexing. Den ble designet av Jimmie P. Rodgers. Dette prosjektet bruker et Fast Fourier Transform -bibliotek for Arduino til å analysere et lydsignal, dele det opp i frekvensbånd og vise denne informasjonen på LoL Shield. Arduino -mikrokontrolleren er rask nok til å beregne en rask Fourier -transformasjon. Det lever opp til navnet sitt og er overraskende raskt og nøyaktig. Siden alt arbeidet er utført av mikrokontrolleren, er dette prosjektet helt bærbart hvis du bruker batterier. Nettsiden for dette prosjektet ligger på 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; 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; gt; Nødvendige deler:

  • LoL Shield
  • Arduino (anbefalt Diavolino)
  • lydkontakt (jeg brukte en mannlig 1/8 "telefonplugg for menn)
  • Arduino -kode
  • strømforsyning (likestrømforsyning, USB -kabel, 9V batteri, etc.)

Trinn 1: Monter LoL Shield

Monter LoL Shield
Monter LoL Shield

Følg instruksjonene for å montere LoL -skjoldet her. Se, det tok ikke lang tid i det hele tatt!

Trinn 2: Loddekabler til lydkontakten

Loddekabler til lydkontakten
Loddekabler til lydkontakten

Jeg bruker en 1/8 -tommers mono -plugg for menn, som det heter på Radioshack, men du kan bruke hvilken lydkabel som er passende for oppsett av lydsystemet. Du kan bruke en mikrofon hvis du vil. For denne typen plugg, Jeg loddet to ledninger. Jeg brukte rød og svart. LoL -skjoldet gir analoge pinner 4 og 5 fri for innganger. Koden min bruker pinne 5. Du kan feste den røde ledningen til den analoge pinnen 5 på LoL -skjoldet og den svarte ledningen til GND. Du trenger ikke lodde den inn, jeg bare satte ledningen gjennom og bøyde den.

Trinn 3: Programmer Arduino

Program Arduino
Program Arduino

Nå må vi programmere Arduino for å kontrollere LoL Shield.

Det anbefales å bruke Diavolino for å kontrollere LoL -skjoldet for å forhindre "ghosting" -effekter på lysdiodene på grunn av den grønne overflatemonterte LED -en som er koblet til pinne 13 på standard Arduino, men en standard Arduino vil fungere fint.

Dette krever to Arduino -biblioteker: - FFT -biblioteket som finnes på Arduino -forumet - Charlieplexing -biblioteket for LoL Shield

Det kan være litt skremmende å installere biblioteker for Arduino hvis du ikke har gjort det før, men det går bra!

Følg instruksjonene for å installere Arduino -biblioteker her:

www.arduino.cc/en/guide/libraries

FFT -biblioteket bryter lydsignalet i 64 frekvensbånd. LoL Shield er 14 x 9 lysdioder. Vi gjennomsnitt de 64 frekvensbåndene sammen til 14 frekvensbånd. Vi kaster bort noen data fordi 14 ikke deler seg i 64 jevnt, men hva. Verdien av hvert frekvensområde er omgjort fra 0 til 9.

Du kan kopiere Arduino -koden nedenfor, hente koden fra GitHub (anbefalt) eller laste ned. ZIP -filen, som inkluderer bibliotekene og Arduino -koden.

Her er GitHub -lenken:

github.com/andydoro/LoLShield-FFT

Nedenfor er Arduino -koden:

/* FFT for LoL Shield v0.9 av Andy Doro https://andydoro.com/basert på FFT -bibliotek og kode fra Arduino -fora og Charlieplexing -biblioteket for LoL Shield. */

#inkludere "Charliplexing.h"

#include "fix_fft.h"

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

int i = 0, val;

ugyldig oppsett () {LedSign:: Init (); // Initialiserer LoL Shield}

void loop () {

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

fix_fft (data, im, 7, 0);

for (i = 0; i <64; i ++) {data = sqrt (data * data +im * im ); // dette får den absolutte verdien av verdiene i matrisen, så vi har bare å gjøre med positive tall};

// gjennomsnittlige søyler sammen for (i = 0; i <14; i ++) {data_avgs = data [i*4] + data [i*4 + 1] + data [i*4 + 2] + data [i*4 + 3]; // gjennomsnittlig data_avgs = map (data_avgs , 0, 30, 0, 9); // endre verdier for LoL}

// sett LoLShield

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x reverserer stolpene så lavt til høye frekvenser er representert fra venstre til høyre. LedSign:: Sett (x, y, 1); // slå på LED -en} else {LedSign:: Set (x, y, 0); // slå av LED -en}}}

}

Trinn 4: Nyt

Nyt!!
Nyt!!

& 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; Koble lydkontakten til stereoanlegget, iPod, datamaskin, etc. Strøm Arduino med en likestrøm, USB fra datamaskinen eller batterier- dette er helt bærbart. Du kan sette den inn i en lue eller beltespenne. De hvite lysdiodene er så lyse at det er vanskelig å fange på video. Det ser ut som det kommer en lilla flamme av dem! Len deg tilbake og nyt!

Mikrokontrollerkonkurranse
Mikrokontrollerkonkurranse
Mikrokontrollerkonkurranse
Mikrokontrollerkonkurranse

Finalist i Microcontroller Contest

Anbefalt: