Obsah:

Měřič LoL Shield Audio Spectrum VU: 4 kroky (s obrázky)
Měřič LoL Shield Audio Spectrum VU: 4 kroky (s obrázky)

Video: Měřič LoL Shield Audio Spectrum VU: 4 kroky (s obrázky)

Video: Měřič LoL Shield Audio Spectrum VU: 4 kroky (s obrázky)
Video: PS3 #2: Ressurecting the impossable! | EPIC rollercoaster repair that nearly broke me. 2024, Listopad
Anonim
Měřič LoL Shield Audio Spectrum VU
Měřič LoL Shield Audio Spectrum VU

Toto je měřič VU zvukového spektra využívající LoL Shield pro Arduino. LoL Shield je 14 x 9 LED matice, která se hodí na Arduino jako štít a je ovládána efektivní metodou známou jako Charlieplexing. To bylo navrženo Jimmie P. Rodgers. Tento projekt využívá knihovnu Fast Fourier Transform pro Arduino k analýze zvukového signálu, jeho rozdělení do frekvenčních pásem a zobrazení těchto informací na štítu LoL. Mikrokontrolér Arduino je dostatečně rychlý na to, aby vypočítal rychlou Fourierovu transformaci. Splňuje své jméno a je překvapivě rychlý a přesný. Protože veškerou práci provádí mikrokontrolér, je tento projekt zcela přenosný, pokud používáte baterie. Webová stránka tohoto projektu je umístěna na adrese 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; lt; br /& amp; amp; amp; amp; amp; amp; Amp; Amp; Amp; Amp; Amp; Amp; Amp; Amp; Potřebné díly:

  • LoL štít
  • Arduino (doporučeno Diavolino)
  • audio jack (použil jsem samčí mono 1/8 "telefonní konektor)
  • Arduino kód
  • napájení (stejnosměrné napájení, USB kabel, 9V baterie atd.)

Krok 1: Sestavte LoL Shield

Sestavte LoL Shield
Sestavte LoL Shield

Při sestavování štítu LoL zde postupujte podle pokynů. Vidíte, to netrvalo dlouho!

Krok 2: Pájecí dráty k audio konektoru

Pájecí dráty ke zvukovému konektoru
Pájecí dráty ke zvukovému konektoru

Používám samčí mono 1/8 "telefonní konektor, jak se tomu říká na Radioshacku, ale můžete použít jakýkoli zvukový kabel, který je vhodný pro nastavení vašeho audio systému. Pokud chcete, můžete použít mikrofon. Pro tento typ konektoru Pájel jsem dva vodiče. Použil jsem červený a černý. LoL Shield ponechává pro vstupy analogové piny 4 a 5. Můj kód používá pin 5. Červený vodič můžete připojit k analogovému pinu 5 štítu LoL a černý vodič k GND "Nepotřebujete to pájet, jen jsem drát protáhl a ohnul."

Krok 3: Programujte Arduino

Program Arduino
Program Arduino

Nyní musíme Arduino naprogramovat tak, aby ovládalo LoL Shield.

Doporučuje se použít Diavolino k ovládání LoL Shield, aby se zabránilo efektům „ghosting“na LED diodách díky zelené LED pro povrchovou montáž připojené ke kolíku 13 na standardním Arduinu, ale standardní Arduino bude fungovat dobře.

To vyžaduje dvě knihovny Arduino: - knihovnu FFT nalezenou na fóru Arduino - knihovnu Charlieplexing pro LoL Shield

Instalace knihoven pro Arduino může být trochu skličující, pokud jste to ještě neudělali, ale zvládnete to dobře!

Postupujte podle pokynů k instalaci knihoven Arduino zde:

www.arduino.cc/en/guide/libraries

Knihovna FFT rozbíjí zvukový signál v 64 frekvenčních pásmech. LoL Shield je 14 x 9 LED. Průměrujeme 64 frekvenčních pásem dohromady do 14 frekvenčních pásem. Vyhodíme nějaká data, protože 14 se nerozděluje na 64 rovnoměrně, ale co. Hodnota každého frekvenčního rozsahu je přemapována od 0 do 9.

Níže můžete zkopírovat kód Arduino, získat kód z GitHub (doporučeno) nebo si stáhnout soubor. ZIP, který obsahuje knihovny a kód Arduino.

Zde je odkaz na GitHub:

github.com/andydoro/LoLShield-FFT

Níže je kód Arduino:

/* FFT pro LoL Shield v0.9 od Andy Doro https://andydoro.com/ na základě knihovny FFT a kódu z fór Arduino a knihovny Charlieplexing pro LoL Shield. */

#include "Charliplexing.h"

#include "fix_fft.h"

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

int i = 0, val;

neplatné nastavení () {LedSign:: Init (); // Inicializuje štít LoL}

prázdná smyčka () {

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

fix_fft (data, im, 7, 0);

pro (i = 0; i <64; i ++) {data = sqrt (data * data +im * im ); // tím získáme absolutní hodnotu hodnot v poli, takže se zabýváme pouze kladnými čísly};

// průměr pruhů dohromady pro (i = 0; i <14; i ++) {data_avgs = data [i*4] + data [i*4 + 1] + data [i*4 + 2] + data [i*4 + 3]; // průměr dohromady data_avgs = mapa (data_avgs , 0, 30, 0, 9); // přemapování hodnot pro LoL}

// nastavení LoLShield

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x obrátí pruhy tak nízko až vysoké frekvence jsou zastoupeny zleva doprava. LedSign:: Set (x, y, 1); // zapněte LED}} else {LedSign:: Set (x, y, 0); // vypněte LED}}}

}

Krok 4: Užijte si to

Užívat si!!
Užívat si!!

& 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; gt; Zapojte zvukový konektor do stereofonního zařízení, iPodu, počítače atd. Napájejte Arduino pomocí stejnosměrného napájecího zdroje, USB z počítače nebo baterií- to je zcela přenosné. Dalo by se to dát do spony klobouku nebo opasku. Bílé LED diody jsou tak jasné, že je obtížné je zachytit na video. Vypadá to, že z nich vychází fialový plamen! Posaďte se a užívejte si!

Soutěž o mikrořadič
Soutěž o mikrořadič
Soutěž o mikrořadič
Soutěž o mikrořadič

Finalista soutěže o mikrořadič

Doporučuje: