Sommario:

ANALIZZATORE DI SPETTRO CRAZY L.O.L: 6 passaggi (con immagini)
ANALIZZATORE DI SPETTRO CRAZY L.O.L: 6 passaggi (con immagini)

Video: ANALIZZATORE DI SPETTRO CRAZY L.O.L: 6 passaggi (con immagini)

Video: ANALIZZATORE DI SPETTRO CRAZY L.O.L: 6 passaggi (con immagini)
Video: ТАЙНЫ ИНДИИ - Часть 1 - Тайны с историей #Индия 2024, Novembre
Anonim
ANALIZZATORE DI SPETTRO CRAZY L. O. L
ANALIZZATORE DI SPETTRO CRAZY L. O. L
ANALIZZATORE DI SPETTRO CRAZY L. O. L
ANALIZZATORE DI SPETTRO CRAZY L. O. L

Oggi vorrei condividere come realizzare un analizzatore di spettro audio - 36 bande combinando insieme 4 LoL Shields. Questo folle progetto utilizza una libreria FFT per analizzare un segnale audio stereo, convertirlo in bande di frequenza e visualizzare l'ampiezza di queste bande di frequenza su 4 x LoL Shields.

Prima di iniziare, guarda il video qui sotto:

Fase 1: COSE DI CUI ABBIAMO BISOGNO

I principali componenti elettronici sono i seguenti:

  • 4 pezzi x Arduino Uno R3.
  • PCB da 4 pezzi x LoLShield. PCBWay (servizio completo di prototipi PCB personalizzati) mi ha supportato con questi circuiti stampati LoLShield.
  • 504 pezzi x LED, 3 mm. Ogni LoLShield ha bisogno di 126 LED e possiamo scegliere 4 diversi colori e tipi di led (diffuso o non diffuso).
  • 1 pz x Caricabatterie Portatile Power Bank Batteria 10000/20000 mAh.
  • 4 pezzi x intestazione maschio 40 pin 2,54 mm.
  • 2 x cavo USB di tipo A/B. Uno è usato per la programmazione Arduino, l'altro è per alimentare Arduino da un power bank.
  • Jack audio stereo femmina da 1 pz x 3,5 mm.
  • 1 pz x 3,5 mm Adattatore splitter audio da 1 maschio a 2 femmine o splitter audio multi cuffia.
  • Cavo connettore maschio-maschio jack audio stereo da 1 pz x 3,5 mm.
Immagine
Immagine
  • Cavo a nastro arcobaleno da 1 m x 8P.
  • Cavo di alimentazione da 1 m x due core.
  • 1 pz x acrilico trasparente, formato A4.

Fase 2: SCHEMA

SCHEMA
SCHEMA

LoLShield è una matrice LED charlieplexing 9x14 per Arduino e questo design NON include resistori di limitazione della corrente. I LED sono indirizzabili individualmente, quindi possiamo usarlo per visualizzare informazioni in una matrice di led 9×14.

LoL Shield lascia D0 (Rx), D1 (Tx) e i pin analogici da A0 ad A5 liberi per altre applicazioni. L'immagine sotto mostra l'utilizzo dei pin Arduino Uno per questo progetto:

Immagine
Immagine

Il mio analizzatore di spettro audio ha 4 x (Arduino Uno + LoLShield). L'alimentatore e il jack audio stereo da 3,5 mm sono collegati come illustrato di seguito:

Immagine
Immagine

Passaggio 3: LOL SHIELD PCB & SALDATURA LED

1. PCB LoL SHIELD

. Puoi fare riferimento alla progettazione PCB su: https://github.com/jprodgers/LoLshield di Jimmie P. Rodgers.

Immagine
Immagine

. PCBWay mi ha supportato con questi circuiti stampati LoLShield con consegna rapida e PCB di alta qualità.

Immagine
Immagine

2. SALDATURA A LED

. Ogni LoLShield ha bisogno di 126 led e ho usato diversi tipi e colori per 4x LoLShields come segue:

  • 1 x LoLShield: led diffuso, colore rosso, 3mm.
  • 1 x LoLShield: led diffuso, colore verde, 3mm.
  • 2 x LoLShield: led non diffuso (trasparente), colore blu, 3mm.

. Preparazione PCB e LED LoLShield

Immagine
Immagine

. Saldatura di 126 LED su PCB LoLShield. Dovremmo controllare i LED a batteria dopo aver saldato ogni riga - 14 LED

TOP LoLSHIELD

Immagine
Immagine

INFERIORE LoLSHIELD

Immagine
Immagine

. Finire un LoLShield e continuare a saldare i 3 LoLShield rimanenti.

Immagine
Immagine

Fase 4: COLLEGAMENTO E MONTAGGIO

. Saldatura alimentazione e segnale audio a 4xLoLShield. Un segnale stereo utilizza due canali audio: sinistro e destro che sono collegati ad Arduino Uno ai pin analogici A4 e A5.

  • A4: Canale audio sinistro.
  • A5: Canale audio destro.
Immagine
Immagine

. Allineamento e montaggio di 4 Arduino Uno sulla piastra acrilica.

Immagine
Immagine

. Collegando 4 x LoLShield a 4 x Arduino Uno.

Immagine
Immagine

. Incolla la banca di alimentazione del caricatore portatile e il jack audio su una piastra acrilica

Immagine
Immagine

. Fatto!

Immagine
Immagine

Fase 5: PROGRAMMAZIONE

Dovresti fare riferimento a come funziona LoLShield basato sul metodo Charlieplexing e Fast Fourier Transform (FFT) su:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

Per Charlieplexing, prestiamo attenzione ai "tre stati" dei pin digitali di Arduino: "HIGH" (5V), "LOW" (0V) e "INPUT". La modalità "INPUT" mette il pin Arduino in stato di alta impedenza. Riferimento a:

www.arduino.cc/en/Tutorial/DigitalPins

Nel mio progetto, le bande di frequenza audio sono visualizzate su 4 x LoL Shield e sono descritte come mostrato di seguito:

Immagine
Immagine

Ogni Arduino legge il segnale audio sul canale sinistro/destro ed esegue l'FFT.

for (i=0; i < 64; i++) { Audio_Input= analogRead(RIGHT_CHANNEL); // Legge il segnale audio sul canale destro A5 - ARDUINO 1 & 2 //Audio_Input = analogRead(LEFT_CHANNEL); // Legge il segnale audio sul canale sinistro A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Imaginary_Number = 0; } fix_fft(Real_Number, Imaginary_Number, 6, 0); // Esegui la trasformata di Fourier veloce con N_WAVE=6 (2^6=64) for (i=0; i< 32;i++) { Real_Number = 2*sqrt(Real_Number * Real_Number + Imaginary_Number * Numero_Immaginario); }

. Arduino 1 - Visualizza le bande di frequenza di ampiezza 01 ~ 09 del canale destro (A5).

for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (x < Real_Number[y]) // Visualizza le bande di frequenza da 01 a 09 { LedSign::Set (13-x, 8-y, 1); // LED ON } else { LedSign::Set(13-x, 8-y, 0); // LED SPENTO } } }

. Arduino 2 - Visualizza le bande di frequenza di ampiezza 10 ~ 18 del canale destro (A5).

for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (x < Real_Number[9 + y]) // Visualizza le bande di frequenza da 10 a 18 { LedSign::Set(13-x, 8-y, 1); // LED ON } else { LedSign::Set(13-x, 8-y, 0); // LED SPENTO } } }

. Arduino 3 - Visualizza le bande di frequenza di ampiezza 01 ~ 09 del canale sinistro (A4).

Il codice è lo stesso di Arduino 1 e il canale sinistro del segnale audio si collega ad Arduino sul pin analogico A4.

. Arduino 4 - Visualizza le bande di frequenza di ampiezza 10 ~ 18 del canale sinistro.

Il codice è lo stesso di Arduino 2 e il canale sinistro del segnale audio si collega ad Arduino sul pin analogico A4.

Passaggio 6: FINE

FINIRE
FINIRE
FINIRE
FINIRE
FINIRE
FINIRE
FINIRE
FINIRE

Questo analizzatore di spettro portatile può connettersi direttamente a un laptop/desktop, telefono cellulare, tablet o altri lettori musicali tramite il jack audio stereo da 3,5 mm. Questo progetto sembra pazzesco, spero vi piaccia!

Grazie per la tua lettura!!!

Consigliato: