Taula de continguts:

CRAZY L.O.L SPECTRUM ANALYZER: 6 passos (amb imatges)
CRAZY L.O.L SPECTRUM ANALYZER: 6 passos (amb imatges)

Vídeo: CRAZY L.O.L SPECTRUM ANALYZER: 6 passos (amb imatges)

Vídeo: CRAZY L.O.L SPECTRUM ANALYZER: 6 passos (amb imatges)
Vídeo: The Expert (Short Comedy Sketch) 2024, De novembre
Anonim
CRAZY L. O. L SPECTRUM ANALYZER
CRAZY L. O. L SPECTRUM ANALYZER
CRAZY L. O. L SPECTRUM ANALYZER
CRAZY L. O. L SPECTRUM ANALYZER

Avui m'agradaria compartir com fer un analitzador d'espectre d'àudio: 36 bandes combinant 4 LoL Shields junts. Aquest boig projecte utilitza una biblioteca FFT per analitzar un senyal d’àudio estèreo, convertir-lo a bandes de freqüència i mostrar l’amplitud d’aquestes bandes de freqüència en 4 x LoL Shields.

Abans de començar, mireu el vídeo següent:

Pas 1: COSES QUE NECESSITEM

Els components electrònics principals són els següents:

  • 4 unitats x Arduino Uno R3.
  • 4pcs x LoLShield PCB. PCBWay (servei complet de prototipus de PCB personalitzats) em va donar suport a aquestes plaques de circuits impresos LoLShield.
  • 504pcs x LED, 3 mm. Cada LoLShield necessita 126 LEDs i podem escollir 4 tipus i colors de led diferents (difosos o no difosos).
  • 1pcs x carregador portàtil Power Bank Battery 10000 / 20000mAh.
  • 4 unitats x capçalera masculina 40pin 2,54 mm.
  • 2 unitats x cable USB tipus A / B. Un s’utilitza per a la programació d’Arduino, l’altre per alimentar l’Arduino des d’un banc de potència.
  • 1 unid x 3,5 mm femella d'àudio estèreo.
  • 1pcs x 3,5 mm 1 adaptador de divisor d'àudio masculí a 2 femella o divisor d'àudio per a diversos auriculars.
  • 1 Connector de so estèreo de 3,5 x 3,5 mm Connector masculí-masculí.
Imatge
Imatge
  • Cable de cinta arc de Sant Martí 1m x 8P.
  • 1m x Cable d'alimentació de dos nuclis.
  • 1 unid x acrílic transparent, mida A4.

Pas 2: ESQUEMÀTIC

ESQUEMÀTICA
ESQUEMÀTICA

LoLShield és una matriu LED de 9x14 charlieplexing per a Arduino i aquest disseny NO inclou cap resistència de limitació de corrent. Els LED són adreçables individualment, de manera que podem utilitzar-lo per mostrar informació en una matriu de leds de 9 × 14.

LoL Shield deixa lliure D0 (Rx), D1 (Tx) i els pins analògics A0 a A5 per a altres aplicacions. La imatge següent mostra l'ús dels pins d'Arduino Uno per a aquest projecte:

Imatge
Imatge

El meu analitzador d'espectre d'àudio té 4 x (Arduino Uno + LoLShield). La font d'alimentació i el connector d'àudio estèreo de 3,5 mm es connecten de la manera següent:

Imatge
Imatge

Pas 3: LOL SHIELD PCB i SOLDADURA LED

1. PCB LoL SHIELD

Ѽ. Podeu consultar el disseny de PCB a: https://github.com/jprodgers/LoLshield de Jimmie P. Rodgers.

Imatge
Imatge

Ѽ. PCBWay em va donar suport aquestes plaques de circuits impresos LoLShield amb lliurament ràpid i PCB d'alta qualitat.

Imatge
Imatge

2. SOLDADURA LED

Ѽ. Cada LoLShield necessita 126 leds i he utilitzat diferents tipus i colors per a 4x LoLShields de la següent manera:

  • 1 x LoLShield: led difús, color vermell, 3 mm.
  • 1 x LoLShield: led difús, color verd, 3 mm.
  • 2 x LoLShield: led no difós (clar), color blau, 3 mm.

Ѽ. Preparació de PCB i LED de LoLShield

Imatge
Imatge

Ѽ. Soldadura de 126 LED a PCB LoLShield. Hem de comprovar els LED per bateria després de soldar cada fila: 14 LED

TOP LoLSHIELD

Imatge
Imatge

BASSOM LoLSHIELD

Imatge
Imatge

Ѽ. Acabeu un LoLShield i continueu soldant 3 LoLShield restants.

Imatge
Imatge

Pas 4: CONNEXIÓ I MUNTATGE

Ѽ. Font d'alimentació de soldadura i senyal d'àudio a 4xLoLShield. Un senyal estèreo utilitza dos canals d'àudio: esquerre i dret, que estan connectats a Arduino Uno als pins analògics A4 i A5.

  • A4: canal d'àudio esquerre.
  • A5: Canal d'àudio dret.
Imatge
Imatge

Ѽ. Alineació i muntatge de 4 x Arduino Uno a la placa acrílica.

Imatge
Imatge

Ѽ. Connectant 4 x LoLShield a 4 x Arduino Uno.

Imatge
Imatge

Ѽ. Enganxeu carregador portàtil de potència i presa d'àudio en placa acrílica

Imatge
Imatge

Ѽ. Fet!

Imatge
Imatge

Pas 5: PROGRAMACIÓ

Heu de referir-vos a com funciona LoLShield basat en el mètode Charlieplexing i la transformada ràpida de Fourier (FFT) a:

ca.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

Per a Charlieplexing, prestem atenció als "tres estats" dels pins digitals Arduino: "HIGH" (5V), "LOW" (0V) i "INPUT". El mode "INPUT" posa el pin Arduino en estat d'alta impedància. Referència a:

www.arduino.cc/ca/Tutorial/DigitalPins

Al meu projecte, les bandes de freqüència d’àudio es mostren a 4 x LoL Shield i es descriuen com es mostra a continuació:

Imatge
Imatge

Cada Arduino llegeix el senyal d'àudio al canal esquerre / dret i realitza el FFT.

per a (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Llegir el senyal d'àudio al canal dret A5 - ARDUINO 1 i 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Llegir el senyal d'àudio al canal esquerre A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Número_imaginari = 0; } fix_fft (Real_Number, Imaginary_Number, 6, 0); // Realitzeu una transformada ràpida de Fourier amb N_WAVE = 6 (2 ^ 6 = 64) per a (i = 0; i <32; i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Number + Imaginary_Number * Número_imaginari ); }

Ѽ. Arduino 1: mostra les bandes de freqüència d'amplitud 01 ~ 09 del canal dret (A5).

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [y]) // Mostra les bandes de freqüència 01 a 09 {LedSign:: Set (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED apagat}}}

Ѽ. Arduino 2: mostra bandes de freqüència d'amplitud de 10 a 18 del canal dret (A5).

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [9 + y]) // Mostra les bandes de freqüència de 10 a 18 {LedSign:: Conjunt (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED apagat}}}

Ѽ. Arduino 3: mostra les bandes de freqüència d'amplitud 01 ~ 09 del canal esquerre (A4).

El codi és igual que l’Arduino 1 i el senyal d’àudio del canal esquerre es connecta a Arduino al pin A4 analògic.

Ѽ. Arduino 4: mostra bandes de freqüència d'amplitud de 10 a 18 del canal esquerre.

El codi és igual que Arduino 2 i el senyal d’àudio del canal esquerre es connecta a Arduino mitjançant el pin A4 analògic.

Pas 6: ACABAR

ACABAR
ACABAR
ACABAR
ACABAR
ACABAR
ACABAR
ACABAR
ACABAR

Aquest analitzador d'espectre portàtil es pot connectar directament a un ordinador portàtil / escriptori, telèfon mòbil, tauleta o altres reproductors de música mitjançant el connector d'àudio estèreo de 3,5 mm. Aquest projecte sembla una bogeria, espero que us agradi!

Gràcies per la vostra lectura !!!

Recomanat: