Cuprins:

CRAZY L.O.L SPECTRUM ANALYZER: 6 pași (cu imagini)
CRAZY L.O.L SPECTRUM ANALYZER: 6 pași (cu imagini)
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

Astăzi aș dori să vă împărtășesc cum să fac un analizor de spectru audio - 36 de benzi, combinând 4 LoL Shields împreună. Acest proiect nebun folosește o bibliotecă FFT pentru a analiza un semnal audio stereo, a-l converti în benzi de frecvență și a afișa amplitudinea acestor benzi de frecvență pe 4 x LoL Shields.

Înainte de a începe, vă rugăm să urmăriți videoclipul de mai jos:

Pasul 1: LUCRURI DE CE AVEM NEVOIE

Principalele componente electronice sunt următoarele:

  • 4 buc x Arduino Uno R3.
  • 4 buc x LoLShield PCB. PCBWay (serviciu complet de prototip personalizat pentru PCB) mi-a sprijinit aceste plăci de circuite imprimate LoLShield.
  • 504buc x LED, 3mm. Fiecare LoLShield are nevoie de 126 de LED-uri și putem alege 4 culori și tipuri diferite de leduri (difuze sau nedifuse).
  • 1 buc x încărcător portabil Power Bank baterie 10000 / 20000mAh.
  • 4 buc x antet masculin 40 pini 2,54 mm.
  • 2 buc x cablu USB tip A / B. Unul este utilizat pentru programarea Arduino, celălalt este pentru alimentarea Arduino de la o bancă de alimentare.
  • 1 buc x 3,5 mm mufă audio stereo feminin.
  • 1buc x 3.5mm 1 tată la 2 mama adaptor audio Splitter sau multi căști Splitter audio.
  • 1 buc x 3.5mm Jack audio stereo Cablu conector tată-tată.
Imagine
Imagine
  • Cablu 1m x 8P Rainbow Ribbon.
  • 1m x cablu de alimentare cu două nuclee.
  • 1buc x Acrilic transparent, dimensiune A4.

Pasul 2: SCHEMATIC

SCHEMATIC
SCHEMATIC

LoLShield este o matrice LED charlieplexing 9x14 pentru Arduino și acest design NU include rezistențe de limitare a curentului. LED-urile pot fi adresate individual, deci îl putem folosi pentru a afișa informații într-o matrice de leduri 9 × 14.

LoL Shield lasă D0 (Rx), D1 (Tx) și pinii analogici A0 la A5 liberi pentru alte aplicații. Imaginea de mai jos prezintă utilizarea pinilor Arduino Uno pentru acest proiect:

Imagine
Imagine

Analizorul meu de spectru audio are 4 x (Arduino Uno + LoLShield). Sursa de alimentare și mufa audio stereo de 3,5 mm sunt conectate conform schemei de mai jos:

Imagine
Imagine

Pasul 3: LOL SHIELD PCB & SOLDERING LED

1. PCB LoL SHIELD

Ѽ. Puteți consulta designul PCB la: https://github.com/jprodgers/LoLshield de Jimmie P. Rodgers.

Imagine
Imagine

Ѽ. PCBWay m-a susținut cu aceste circuite imprimate LoLShield cu livrare rapidă și PCB de înaltă calitate.

Imagine
Imagine

2. SOLDARE LED

Ѽ. Fiecare LoLShield are nevoie de 126 de leduri și am folosit diferite tipuri și culori pentru 4x LoLShields după cum urmează:

  • 1 x LoLShield: led difuz, culoare roșie, 3mm.
  • 1 x LoLShield: led difuz, culoare verde, 3mm.
  • 2 x LoLShield: led nedifuzat (clar), culoare albastră, 3mm.

Ѽ. Pregătirea LoLShield PCB și LED

Imagine
Imagine

Ѽ. Lipire 126 LED pe LoLShield PCB. Ar trebui să verificăm LED-urile prin baterie după lipirea fiecărui rând - 14 LED-uri

TOP LoLSHIELD

Imagine
Imagine

BASSOM LoLSHIELD

Imagine
Imagine

Ѽ. Terminați un LoLShield și continuați să lipiți 3 LoLShield rămas.

Imagine
Imagine

Pasul 4: CONECTARE ȘI ASAMBLARE

Ѽ. Alimentare cu energie de lipit și semnal audio către 4xLoLShield. Un semnal stereo utilizează două canale audio: stânga și dreapta, care sunt conectate la Arduino Uno la pinii analogici A4 și A5.

  • A4: Canal audio din stânga.
  • A5: Canal audio dreapta.
Imagine
Imagine

Ѽ. Aliniere și montare 4 x Arduino Uno pe placa acrilică.

Imagine
Imagine

Ѽ. Conectarea a 4 x LoLShield la 4 x Arduino Uno.

Imagine
Imagine

Ѽ. Lipiți bateria portabilă a încărcătorului portabil și mufa audio pe placa acrilică

Imagine
Imagine

Ѽ. Terminat!

Imagine
Imagine

Pasul 5: PROGRAMARE

Ar trebui să vă referiți la modul în care funcționează LoLShield pe baza metodei Charlieplexing și a Transformatei Fourier rapide (FFT) la:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

Pentru Charlieplexing, acordăm atenție „celor trei stări” ale pinilor digitali Arduino: „HIGH” (5V), „LOW” (0V) și „INPUT”. Modul „INPUT” pune pinul Arduino în stare de impedanță ridicată. Referință la:

www.arduino.cc/en/Tutorial/DigitalPins

În proiectul meu, benzile de frecvență audio sunt afișate pe 4 x LoL Shield și sunt descrise așa cum se arată mai jos:

Imagine
Imagine

Fiecare Arduino citește semnalul audio pe canalul stânga / dreapta și efectuează FFT.

pentru (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Citiți semnalul audio pe canalul drept A5 - ARDUINO 1 și 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Citiți semnalul audio pe canalul din stânga A4 - ARDUINO 3 și 4 Real_Number = Audio_Input; Număr_imaginar = 0; } fix_fft (Real_Number, Imaginary_Number, 6, 0); // Efectuați transformarea Fourier rapidă cu N_WAVE = 6 (2 ^ 6 = 64) pentru (i = 0; i <32; i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Number + Imaginary_Number * Număr_imaginar ); }

Ѽ. Arduino 1 - Afișați benzile de frecvență de amplitudine 01 ~ 09 ale canalului drept (A5).

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [y]) // Afișați benzile de frecvență de la 01 la 09 {LedSign:: Set (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED OFF}}}

Ѽ. Arduino 2 - Afișați benzile de frecvență ale amplitudinii 10 ~ 18 ale canalului drept (A5).

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [9 + y]) // Afișați benzile de frecvență 10-18 {LedSign:: Set (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED OFF}}}

Ѽ. Arduino 3 - Afișați benzile de frecvență de amplitudine 01 ~ 09 ale canalului stâng (A4).

Codul este la fel ca Arduino 1, iar semnalul audio al canalului stâng se conectează la Arduino la pinul analogic A4.

Ѽ. Arduino 4 - Afișați benzile de frecvență de amplitudine 10 ~ 18 ale canalului stâng.

Codul este la fel ca Arduino 2, iar canalul stâng al semnalului audio se conectează la Arduino la pinul analogic A4.

Pasul 6: FINALIZARE

FINALIZAREA
FINALIZAREA
FINALIZAREA
FINALIZAREA
FINALIZAREA
FINALIZAREA
FINALIZAREA
FINALIZAREA

Acest analizor portabil de spectru se poate conecta direct la un laptop / desktop, telefon mobil, tabletă sau alte playere muzicale prin mufa stereo audio de 3,5 mm. Acest proiect pare o nebunie, sper să vă placă!

Mulțumesc pentru lectură !!!

Recomandat: