Sadržaj:

LoL Shield Audio Spectrum VU mjerač: 4 koraka (sa slikama)
LoL Shield Audio Spectrum VU mjerač: 4 koraka (sa slikama)

Video: LoL Shield Audio Spectrum VU mjerač: 4 koraka (sa slikama)

Video: LoL Shield Audio Spectrum VU mjerač: 4 koraka (sa slikama)
Video: PS3 #2: Ressurecting the impossable! | EPIC rollercoaster repair that nearly broke me. 2024, Novembar
Anonim
LoL Shield Audio Spectrum VU mjerač
LoL Shield Audio Spectrum VU mjerač

Ovo je VU mjerač audio spektra koji koristi LoL Shield za Arduino. LoL Shield je 14 x 9 LED matrica koja pristaje na Arduino kao štit i kontrolira se učinkovitom metodom poznatom kao Charlieplexing. Dizajnirao ga je Jimmie P. Rodgers. Ovaj projekt koristi biblioteku Fast Fourier Transform za Arduino za analizu audio signala, njegovo razbijanje na frekvencijske opsege i prikaz tih informacija na LoL Shield -u. Arduino mikrokontroler je dovoljno brz da izračuna brzu Fourierovu transformaciju. Opravdava svoje ime i iznenađujuće je brz i precizan. Budući da sav posao obavlja mikrokontroler, ovaj je projekt potpuno prenosiv ako koristite baterije. Web stranica ovog projekta nalazi se na adresi 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; lt; br /& amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; gt; Potrebni delovi:

  • LoL Shield
  • Arduino (preporučuje se Diavolino)
  • audio priključak (koristio sam muški mono 1/8 "telefonski utikač)
  • Arduino kod
  • napajanje (DC napajanje, USB kabel, 9V baterija itd.)

Korak 1: Sastavite LoL Shield

Sastavite LoL Shield
Sastavite LoL Shield

Slijedite upute za sastavljanje LoL Shielda ovdje. Vidite, to uopće nije dugo trajalo!

Korak 2: Lemite žice na audio priključak

Spajanje žica na audio priključak
Spajanje žica na audio priključak

Koristim muški mono 1/8 telefonski utikač, kako se zove na Radioshacku, ali možete koristiti bilo koji audio kabel koji odgovara vašem audio sistemu. Možete koristiti mikrofon ako želite. Za ovu vrstu priključka, Lemio sam dvije žice. Koristio sam crvenu i crnu. LoL Shield ostavlja analogne pinove 4 i 5. slobodnim za ulaze. Moj kôd koristi iglu 5. Crvenu žicu možete priključiti na analogni pin 5 LoL štita, a crnu žicu na GND Ne morate ga lemiti, samo sam provukao žicu i savio je.

Korak 3: Programirajte Arduino

Program Arduino
Program Arduino

Sada moramo programirati Arduino za kontrolu LoL Shield -a.

Preporučuje se korištenje Diavolina za kontrolu LoL Shield -a kako bi se spriječili efekti "duhova" na LED -ima zbog zelene LED površine za montažu na površinu spojene na pin 13 na standardnom Arduinu, ali standardni Arduino će raditi dobro.

Za to su potrebne dvije Arduino biblioteke: - FFT biblioteka koja se nalazi na Arduino forumu - Charlieplexing biblioteka za LoL Shield

Instaliranje biblioteka za Arduino može biti pomalo zastrašujuće ako to već niste učinili, ali bit ćete u redu!

Slijedite upute o instaliranju Arduino biblioteka ovdje:

www.arduino.cc/en/guide/libraries

FFT biblioteka razbija audio signal u 64 frekvencijska opsega. LoL Shield ima 14 x 9 LED dioda. Prosječujemo 64 frekvencijska opsega zajedno u 14 frekvencijskih opsega. Bacamo neke podatke jer se 14 ne dijeli na 64 podjednako, već na bilo koje. Vrijednost svakog frekvencijskog raspona se preslikava od 0 do 9.

Arduino kôd možete kopirati u nastavku, nabaviti ga sa GitHub -a (preporučeno) ili preuzeti. ZIP datoteku koja uključuje biblioteke i Arduino kôd.

Evo linka za GitHub:

github.com/andydoro/LoLShield-FFT

Ispod je Arduino kod:

/* FFT za LoL Shield v0.9 by Andy Doro https://andydoro.com/na osnovu FFT biblioteke i koda sa Arduino foruma i Charlieplexing biblioteke za LoL Shield. */

#include "Charliplexing.h"

#include "fix_fft.h"

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

int i = 0, val;

void setup () {LedSign:: Init (); // Pokreće LoL Shield}

void loop () {{100} {101}

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

fix_fft (podaci, im, 7, 0);

za (i = 0; i <64; i ++) {podaci = sqrt (podaci * podaci +im * im ); // ovo dobiva apsolutnu vrijednost vrijednosti u nizu, pa se bavimo samo pozitivnim brojevima};

// prosječni stupci zajedno za (i = 0; i <14; i ++) {data_avgs = podaci [i*4] + podaci [i*4 + 1] + podaci [i*4 + 2] + podaci [i*4 + 3]; // prosječno zajedno data_avgs = mapa (data_avgs , 0, 30, 0, 9); // remap vrijednosti za LoL}

// postavlja LoLShield

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x mijenja tako niske stupce do visokih frekvencija predstavljene s lijeva na desno. LedSign:: Set (x, y, 1); // uključite LED lampicu} else {LedSign:: Set (x, y, 0); // isključite LED diodu}}}

}

Korak 4: Uživajte

Uživajte !!
Uživajte !!

& 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; Uključite audio priključak u svoj stereo, iPod, računar itd. Napajajte Arduino istosmjernim napajanjem, USB-om iz računara ili baterija- ovo je potpuno prenosivo. Možete ga staviti u šešir ili kopču za remen. Bijele LED diode su toliko svijetle da ih je teško snimiti video zapisom. Izgleda da iz njih silazi ljubičasti plamen! Sjednite i uživajte!

Takmičenje za mikrokontroler
Takmičenje za mikrokontroler
Takmičenje za mikrokontroler
Takmičenje za mikrokontroler

Finalista takmičenja za mikrokontrolere

Preporučuje se: