Tartalomjegyzék:

LoL Shield audiospektrum VU -mérő: 4 lépés (képekkel)
LoL Shield audiospektrum VU -mérő: 4 lépés (képekkel)

Videó: LoL Shield audiospektrum VU -mérő: 4 lépés (képekkel)

Videó: LoL Shield audiospektrum VU -mérő: 4 lépés (képekkel)
Videó: Blue Oyster Cult - (Don't Fear) The Reaper (Audio) 2024, December
Anonim
LoL Shield audiospektrum VU -mérő
LoL Shield audiospektrum VU -mérő

Ez egy audiospektrum VU -mérő, amely a LoL Shield -et használja az Arduino számára. A LoL Shield egy 14 x 9 LED -es mátrix, amely pajzsként illeszkedik az Arduino -hoz, és a Charlieplexing néven ismert hatékony módszerrel vezérelhető. Jimmie P. Rodgers tervezte. Ez a projekt az Arduino gyors Fourier -transzformációs könyvtárát használja az audiojel elemzésére, frekvenciasávokra bontására és az információk megjelenítésére a LoL pajzson. Az Arduino mikrokontroller elég gyors ahhoz, hogy kiszámítsa a gyors Fourier -transzformációt. Megfelel a nevének, és meglepően gyors és pontos. Mivel az összes munkát a mikrokontroller végzi, ez a projekt teljesen hordozható, ha elemeket használ. A projekt weboldala a 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; gt; Szükséges alkatrészek:

  • LoL pajzs
  • Arduino (Diavolino ajánlott)
  • audio jack (én egy 1/8 "-os mono férfi dugót használtam)
  • Arduino kód
  • tápegység (egyenáramú tápegység, USB -kábel, 9V -os elem, stb.)

1. lépés: Szerelje össze a LoL pajzsot

Szerelje össze a LoL pajzsot
Szerelje össze a LoL pajzsot

Kövesse az utasításokat a LoL Shield összeállításához. Látod, ez egyáltalán nem tartott sokáig!

2. lépés: Forrasztó vezetékek az audiocsatlakozóhoz

Forrasztó vezetékek az audio csatlakozóhoz
Forrasztó vezetékek az audio csatlakozóhoz

Férfi mono 1/8 -os telefoncsatlakozót használok, ahogyan a Radioshack -en hívják, de bármilyen audio kábelt használhat, amely megfelel az audiorendszer beállításához. Ha akarja, használhat mikrofont. Az ilyen típusú dugókhoz Két vezetéket forrasztottam. Pirosat és feketét használtam. A LoL Shield szabadon hagyja a 4 -es és az 5 -ös analóg érintkezőket a bemenetekhez. A kódom az 5 -ös tűt használja. A piros vezetéket a LoL -pajzs analóg 5 -ös tűjéhez, a fekete vezetéket pedig a GND -hez csatlakoztathatja Nem kell beleforrasztani, csak átdugtam a vezetéket és meghajlítottam.

Lépés: Programozza az Arduino programot

Arduino program
Arduino program

Most be kell programoznunk az Arduino -t a LoL Shield vezérlésére.

Javasoljuk, hogy használja a Diavolino -t a LoL Shield vezérléséhez, hogy megelőzze a "szellemképes" hatásokat a LED -eken, mivel a szabványos Arduino 13 -as érintkezőjéhez csatlakoztatott zöld felületi szerelő LED miatt, de egy szabványos Arduino jól fog működni.

Ehhez két Arduino könyvtár szükséges: - az Arduino fórumon található FFT könyvtár - a LoL Shield Charlieplexing könyvtára

A könyvtárak telepítése az Arduino számára kissé félelmetes lehet, ha még nem tette meg, de minden rendben lesz!

Kövesse az Arduino könyvtárak telepítésére vonatkozó utasításokat itt:

www.arduino.cc/en/guide/libraries

Az FFT könyvtár 64 frekvenciasávon megszakítja az audiojelet. A LoL Shield 14 x 9 LED -es. A 64 frekvenciasávot átlagoljuk 14 frekvenciasávba. Azért dobunk el néhány adatot, mert a 14 nem egyenlően oszlik 64 -re, hanem a whatevs. Az egyes frekvenciatartományok értéke 0 és 9 között változik.

Másolhatja az alábbi Arduino kódot, beszerezheti a kódot a GitHubból (ajánlott), vagy letöltheti a. ZIP fájlt, amely tartalmazza a könyvtárakat és az Arduino kódot.

Itt a GitHub link:

github.com/andydoro/LoLShield-FFT

Az alábbiakban az Arduino kód található:

/* FFT for LoL Shield v0.9 by Andy Doro https://andydoro.com/ alapján FFT könyvtár és kód az Arduino fórumok és a Charlieplexing könyvtár LoL Shield. */

#include "Charliplexing.h"

#include "fix_fft.h"

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

int i = 0, val;

void setup () {LedSign:: Init (); // Inicializálja a LoL pajzsot}

void loop () {

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

fix_fft (adatok, im, 7, 0);

for (i = 0; i <64; i ++) {data = sqrt (data * data +im * im ); // ez megkapja a tömb értékeinek abszolút értékét, tehát csak pozitív számokkal van dolgunk};

// átlagos oszlopok együtt (i = 0; i <14; i ++) {data_avgs = adatok [i*4] + adatok [i*4 + 1] + adatok [i*4 + 2] + adatok [i*4 + 3]; // átlag együtt data_avgs = térkép (data_avgs , 0, 30, 0, 9); // LoL értékek újratelepítése}

// a LoLShield beállítása

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x megfordítja a sávokat ilyen alacsonyan a magas frekvenciák balról jobbra vannak ábrázolva. LedSign:: Set (x, y, 1); // a LED bekapcsolása} else {LedSign:: Set (x, y, 0); // kapcsolja ki a LED -et}}}

}

4. lépés: Élvezze

Élvezd!!
Élvezd!!

Amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; gt; Csatlakoztassa az audiocsatlakozót a sztereóhoz, az iPodhoz, a számítógéphez stb. Táplálja az Arduino-t egyenáramú tápegységgel, USB-vel a számítógépről vagy akkumulátorokkal- ez teljesen hordozható. Teheted kalapba vagy övcsatba. A fehér LED -ek olyan fényesek, hogy nehéz videót rögzíteni. Úgy tűnik, lila láng lobog belőlük! Dőljön hátra és élvezze!

Mikrokontroller verseny
Mikrokontroller verseny
Mikrokontroller verseny
Mikrokontroller verseny

A mikrokontroller verseny döntőse

Ajánlott: