Indholdsfortegnelse:

LoL Shield Audio Spectrum VU Meter: 4 trin (med billeder)
LoL Shield Audio Spectrum VU Meter: 4 trin (med billeder)

Video: LoL Shield Audio Spectrum VU Meter: 4 trin (med billeder)

Video: LoL Shield Audio Spectrum VU Meter: 4 trin (med billeder)
Video: Book 07 - The Hunchback of Notre Dame Audiobook by Victor Hugo (Chs 1-8) 2024, November
Anonim
LoL Shield Audio Spectrum VU Meter
LoL Shield Audio Spectrum VU Meter

Dette er et lydspektrum VU -meter, der bruger LoL Shield til Arduino. LoL Shield er en 14 x 9 LED matrix, der passer på Arduino som et skjold og styres ved en effektiv metode kendt som Charlieplexing. Det er designet af Jimmie P. Rodgers. Dette projekt bruger et Fast Fourier Transform -bibliotek til Arduino til at analysere et lydsignal, bryde det op i frekvensbånd og vise disse oplysninger på LoL Shield. Arduino -mikrokontrolleren er hurtig nok til at beregne en hurtig Fourier -transformation. Det lever op til sit navn og er overraskende hurtigt og præcist. Da alt arbejde udføres af mikrokontrolleren, er dette projekt fuldstændigt bærbart, hvis du bruger batterier. Websiden til dette projekt er placeret 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; amp; gt; Nødvendige dele:

  • LoL Shield
  • Arduino (Diavolino anbefales)
  • lydstik (jeg brugte et 1/8 "telefonstik til mono)
  • Arduino kode
  • strømforsyning (jævnstrømforsyning, USB -kabel, 9V batteri osv.)

Trin 1: Saml LoL Shield

Saml LoL Shield
Saml LoL Shield

Følg instruktionerne for at samle LoL Shield her. Se, det tog slet ikke lang tid!

Trin 2: Loddekabler til lydstikket

Loddekabler til lydstikket
Loddekabler til lydstikket

Jeg bruger et mono 1/8 telefonstik til mænd, som det hedder på Radioshack, men du kan bruge det lydkabel, der er passende til din lydsystemopsætning. Du kan bruge en mikrofon, hvis du vil. For denne type stik, Jeg lodde to ledninger. Jeg brugte rød og sort. LoL Shield efterlader analoge ben 4 og 5 til input. Min kode bruger pin 5. Du kan vedhæfte den røde ledning til analog pin 5 i LoL Shield og den sorte ledning til GND. Du behøver ikke at lodde det ind, jeg satte bare tråden igennem og bøjede den.

Trin 3: Programmer Arduino

Program Arduino
Program Arduino

Nu skal vi programmere Arduino til at styre LoL Shield.

Det anbefales at bruge Diavolino til at styre LoL Shield for at forhindre "ghosting" -effekter på lysdioderne på grund af den grønne overflademonterede LED tilsluttet pin 13 på standard Arduino, men en standard Arduino fungerer fint.

Dette kræver to Arduino -biblioteker: - FFT -biblioteket, der findes på Arduino -forumet - Charlieplexing -biblioteket til LoL Shield

Installation af biblioteker til Arduino kan være lidt skræmmende, hvis du ikke har gjort det før, men du klarer dig fint!

Følg instruktionerne om installation af Arduino -biblioteker her:

www.arduino.cc/en/guide/libraries

FFT -biblioteket bryder lydsignalet i 64 frekvensbånd. LoL Shield er 14 x 9 lysdioder. Vi gennemsnit de 64 frekvensbånd sammen til 14 frekvensbånd. Vi smider nogle data væk, fordi 14 ikke opdeles i 64 jævnt, men hvad nu. Værdien af hvert frekvensområde ændres fra 0 til 9.

Du kan kopiere Arduino -koden herunder, hente koden fra GitHub (anbefales) eller downloade. ZIP -filen, som indeholder bibliotekerne og Arduino -koden.

Her er GitHub -linket:

github.com/andydoro/LoLShield-FFT

Nedenfor er Arduino -koden:

/* FFT til LoL Shield v0.9 af Andy Doro https://andydoro.com/baseret på FFT -bibliotek og kode fra Arduino -fora og Charlieplexing -biblioteket til 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;

void setup () {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 værdi af værdierne i arrayet, så vi har kun at gøre med positive tal};

// gennemsnitlige søjler sammen for (i = 0; i <14; i ++) {data_avgs = data [i*4] + data [i*4 + 1] + data [i*4 + 2] + data [i*4 + 3]; // gennemsnit sammen data_avgs = map (data_avgs , 0, 30, 0, 9); // omlæg værdier for LoL}

// sæt LoLShield

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {hvis (y <data_avgs [13-x]) {// 13-x vender søjlerne så lavt til høje frekvenser er repræsenteret fra venstre mod højre. LedSign:: Sæt (x, y, 1); // sæt LED'en til} else {LedSign:: Set (x, y, 0); // sluk lysdioden}}}

}

Trin 4: Nyd

God fornøjelse!!
God fornøjelse!!

& 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; gt; Slut lydstikket til din stereo, iPod, computer osv. Tænd for Arduino med en DC-strømforsyning, USB fra din computer eller batterier- dette er fuldstændig bærbart. Du kan sætte den i en hat eller et bæltespænde. De hvide lysdioder er så klare, at det er svært at fange på video. Det ser ud til, at der kommer en lilla flamme af dem! Læn dig tilbage og nyd!

Microcontroller konkurrence
Microcontroller konkurrence
Microcontroller konkurrence
Microcontroller konkurrence

Finalist i Microcontroller -konkurrencen

Anbefalede: