Sommario:

LoL Shield Audio Spectrum VU Meter: 4 passaggi (con immagini)
LoL Shield Audio Spectrum VU Meter: 4 passaggi (con immagini)

Video: LoL Shield Audio Spectrum VU Meter: 4 passaggi (con immagini)

Video: LoL Shield Audio Spectrum VU Meter: 4 passaggi (con immagini)
Video: Heated Acetone to Smooth Polycarbonate 2024, Novembre
Anonim
LoL Shield Audio Spectrum VU Meter
LoL Shield Audio Spectrum VU Meter

Questo è un VU meter dello spettro audio che utilizza LoL Shield per Arduino. LoL Shield è una matrice di LED 14 x 9 che si adatta all'Arduino come scudo ed è controllata tramite un metodo efficiente noto come Charlieplexing. È stato progettato da Jimmie P. Rodgers. Questo progetto utilizza una libreria Fast Fourier Transform per Arduino per analizzare un segnale audio, suddividerlo in bande di frequenza e visualizzare tali informazioni su LoL Shield. Il microcontrollore Arduino è abbastanza veloce da calcolare una veloce trasformazione di Fourier. È all'altezza del suo nome ed è sorprendentemente veloce e preciso. Poiché tutto il lavoro viene svolto dal microcontrollore, questo progetto è completamente portatile se si utilizzano le batterie. La pagina web di questo progetto si trova all'indirizzo https://andydoro.com/vulol/ & 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;gt; Parti richieste:

  • LoL Shield
  • Arduino (consigliato Diavolino)
  • jack audio (ho usato un jack phone mono maschio da 1/8")
  • Codice Arduino
  • alimentazione (alimentatore CC, cavo USB, batteria 9V, ecc.)

Passaggio 1: assemblare LoL Shield

Assemblare LoL Shield
Assemblare LoL Shield

Segui le istruzioni per assemblare LoL Shield qui. Vedi, non ci è voluto molto!

Passaggio 2: saldare i fili al jack audio

Fili di saldatura al jack audio
Fili di saldatura al jack audio

Sto usando una presa telefonica mono maschio da 1/8 , come viene chiamata a Radioshack, ma puoi usare qualsiasi cavo audio appropriato per la configurazione del tuo sistema audio. Potresti usare un microfono se lo desideri. Per questo tipo di presa, Ho saldato due fili. Ho usato il rosso e il nero. Il LoL Shield lascia i pin analogici 4 e 5 liberi per gli input. Il mio codice usa il pin 5. Puoi collegare il filo rosso al pin analogico 5 del LoL Shield e il filo nero a GND Non è necessario saldarlo, ho solo fatto passare il filo e l'ho piegato.

Passaggio 3: programma Arduino

Programma Arduino
Programma Arduino

Ora dobbiamo programmare Arduino per controllare LoL Shield.

Si consiglia di utilizzare il Diavolino per controllare il LoL Shield per evitare effetti "ghosting" sui LED a causa del LED verde a montaggio superficiale collegato al pin 13 sull'Arduino standard, ma un Arduino standard funzionerà bene.

Ciò richiede due librerie Arduino: - la libreria FFT che si trova sul forum Arduino - la libreria Charlieplexing per LoL Shield

L'installazione di librerie per Arduino può essere un po' scoraggiante se non l'hai mai fatto prima, ma te la caverai bene!

Segui le istruzioni sull'installazione delle librerie Arduino qui:

www.arduino.cc/en/guide/libraries

La libreria FFT interrompe il segnale audio in 64 bande di frequenza. LoL Shield è composto da 14 x 9 LED. Facciamo la media delle 64 bande di frequenza insieme in 14 bande di frequenza. Stiamo buttando via alcuni dati perché 14 non si divide in 64 in modo uniforme, ma tant'è. Il valore di ciascuna gamma di frequenza viene rimappato da 0 a 9.

Puoi copiare il codice Arduino di seguito, ottenere il codice da GitHub (consigliato) o scaricare il file. ZIP, che include le librerie e il codice Arduino.

Ecco il collegamento a GitHub:

github.com/andydoro/LoLShield-FFT

Di seguito il codice Arduino:

/* FFT per LoL Shield v0.9 di Andy Doro https://andydoro.com/basato sulla libreria FFT e sul codice dei forum Arduino e sulla libreria Charlieplexing per 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(); //Inizializza lo scudo LoL }

ciclo vuoto() {

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); // questo ottiene il valore assoluto dei valori nell'array, quindi abbiamo a che fare solo con numeri positivi };

// barre medie insieme per (i=0; i<14; i++) { data_avgs = data[i*4] + data[i*4 + 1] + data[i*4 + 2] + data[io*4 + 3]; // media insieme data_avgs = map(data_avgs, 0, 30, 0, 9); // rimappa i valori per LoL }

// imposta LoLShield

for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (y < data_avgs[13-x]) { // 13-x inverte le barre così basse alle alte frequenze sono rappresentate da sinistra a destra. LedSign::Set(x, y, 1); // accende il LED } else { LedSign::Set(x, y, 0); // spengo il LED } } }

}

Passaggio 4: divertiti

Godere!!
Godere!!

&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;gt; Collega il jack audio al tuo stereo, iPod, computer, ecc. Alimenta Arduino con un alimentatore CC, USB dal tuo computer o batterie: questo è completamente portatile. Potresti metterlo in un cappello o nella fibbia della cintura. I LED bianchi sono così luminosi che è difficile catturarli in video. Sembra che ci sia una fiamma viola che esce da loro! Siediti e divertiti!

Concorso Microcontrollori
Concorso Microcontrollori
Concorso Microcontrollori
Concorso Microcontrollori

Finalista al Concorso Microcontrollori

Consigliato: