INHOUDSOPGAWE:
Video: CRAZY L.O.L SPECTRUM ANALYZER: 6 stappe (met prente)
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Vandag wil ek deel hoe u 'n klankspektrumanaliseerder kan maak - 36 bande deur 4 LoL Shields saam te kombineer. Hierdie mal projek gebruik 'n FFT -biblioteek om 'n stereo -klanksein te ontleed, om te skakel na frekwensiebande en om die amplitude van hierdie frekwensiebande op 4 x LoL Shields te vertoon.
Kyk eers na die video hieronder voordat u begin:
Stap 1: Dinge wat ons nodig het
Die belangrikste elektroniese komponente is soos volg:
- 4 stuks x Arduino Uno R3.
- 4 stuks x LoLShield PCB. PCBWay (Volledige funksie persoonlike PCB prototipe diens) ondersteun my hierdie LoLShield -printplate.
- 504 stuks x LED, 3 mm. Elke LoLShield benodig 126 LED's en ons kan 4 verskillende kleure en tipes LED (verspreid of nie-verspreid) kies.
- 1 stuks x Draagbare laaier Power Bank Battery 10000/20000mAh.
- 4 stuks x Manlike kop 40pin 2.54mm.
- 2 stuks x USB tipe A/B -kabel. Die een word gebruik vir Arduino -programmering, die ander is vir die voeding van die Arduino vanaf 'n kragbank.
- 1 stuks x 3,5 mm vroulike stereo -aansluiting.
- 1 stuks x 3,5 mm 1 male tot 2 female audio splitter adapter of multi koptelefoon audio splitter.
- 1 stuks x 3,5 mm Stereo Audio Jack Male-Male Connector Cable.
- 1m x 8P reënbooglintkabel.
- 1 m x tweekernkragkabel.
- 1 stuks x Deursigtige akriel, grootte A4.
Stap 2: SKEMATIES
Die LoLShield is 'n 9x14 charlieplexing LED -matriks vir die Arduino en hierdie ontwerp bevat geen stroombeperkende weerstande nie. Die LED's kan individueel aangespreek word, sodat ons dit kan gebruik om inligting in 'n 9 × 14 led -matriks te vertoon.
Die LoL Shield laat D0 (Rx), D1 (Tx) en analoog penne A0 tot A5 gratis vir ander toepassings. Die onderstaande foto toon die gebruik van Arduino Uno -penne vir hierdie projek:
My klankspektrum -ontleder het 4 x (Arduino Uno + LoLShield). Die kragtoevoer en die stereo -klankaansluiting van 3,5 mm is soos hieronder getoon:
Stap 3: LOL SHIELD PCB & LED SOLDERING
1. LoL SHIELD PCB
Ѽ. U kan na PCB -ontwerp verwys na: https://github.com/jprodgers/LoLshield deur Jimmie P. Rodgers.
Ѽ. PCBWay ondersteun my hierdie LoLShield -printplate met vinnige aflewering en hoë kwaliteit PCB.
2. LED VERKOOP
Ѽ. Elke LoLShield benodig 126 leds en ek het verskillende soorte en kleure vir 4x LoLShields soos volg gebruik:
- 1 x LoLShield: diffuse led, rooi kleur, 3 mm.
- 1 x LoLShield: diffuse led, groen kleur, 3 mm.
- 2 x LoLShield: nie-verspreide (helder) LED, blou kleur, 3 mm.
Ѽ. Berei LoLShield PCB en LED voor
Ѽ. Soldeer 126 LED op LoLShield PCB. Ons moet die LED's per battery nagaan nadat ons elke ry soldeer het - 14 LED's
TOP LoLSHIELD
ONDER LOLSHIELD
Ѽ. Voltooi een LoLShield en gaan voort met soldeer 3 oorblywende LoLShield.
Stap 4: VERBINDING EN VERGADERING
Ѽ. Soldeerkrag en klanksein na 4xLoLShield. 'N Stereosignaal gebruik twee klankkanale: links en regs, wat met analoog penne A4 en A5 aan die Arduino Uno gekoppel is.
- A4: Linker klankkanaal.
- A5: Regte klankkanaal.
Ѽ. Rig en monteer 4 x Arduino Uno op die akrielplaat.
Ѽ. Koppel 4 x LoLShield aan op 4 x Arduino Uno.
Ѽ. Plak die draagbare laai -kragbank en klankaansluiting op die akrielplaat
Ѽ. Klaar!
Stap 5: PROGRAMMERING
U moet verwys na hoe LoLShield werk op grond van die Charlieplexing -metode en Fast Fourier Transform (FFT) by:
en.wikipedia.org/wiki/Charlieplexing
github.com/kosme/fix_fft
Vir Charlieplexing gee ons aandag aan die 'drie toestande' van die Arduino digitale penne: 'HIGH' (5V), 'LOW' (0V) en 'INPUT'. Die "INPUT" -modus plaas die Arduino-pen in 'n hoë-impedans-toestand. Verwysing by:
www.arduino.cc/en/Tutorial/DigitalPins
In my projek word die klankfrekwensiebande op 4 x LoL Shield vertoon en dit word beskryf soos hieronder getoon:
Elke Arduino lees die klanksein op die linker/ regter kanaal en voer die FFT uit.
vir (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Lees klanksein op regterkanaal A5 - ARDUINO 1 & 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Lees klanksein op linkerkanaal A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Imaginary_Number = 0; } fix_fft (Real_Number, Imaginary_Number, 6, 0); // Voer Fast Fourier -transformasie uit met N_WAVE = 6 (2^6 = 64) vir (i = 0; i <32; i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Number +Imaginary_Number * Imaginary_Number ); }
Ѽ. Arduino 1 - Vertoon amplitude frekwensiebande 01 ~ 09 van regter kanaal (A5).
for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [y]) // Vertoon frekwensiebande 01 tot 09 {LedSign:: Set (13-x, 8-y, 1); // LED AAN} anders {LedSign:: Stel (13-x, 8-j, 0); // LED UIT}}}
Ѽ. Arduino 2 - Vertoon amplitude frekwensiebande 10 ~ 18 van die regte kanaal (A5).
for (int x = 0; x <14; x ++) {vir (int y = 0; y <9; y ++) {if (x <Real_Number [9+y]) // Vertoon frekwensiebande 10 tot 18 {LedSign:: Stel (13-x, 8-j, 1); // LED AAN} anders {LedSign:: Stel (13-x, 8-j, 0); // LED AF}}}
Ѽ. Arduino 3 - Vertoon amplitude frekwensiebande 01 ~ 09 van linkerkanaal (A4).
Die kode is dieselfde as Arduino 1 en die klanksein links kanaal verbind met Arduino op analoog pen A4.
Ѽ. Arduino 4 - Vertoon amplitude frekwensiebande 10 ~ 18 van linkerkanaal.
Die kode is dieselfde as Arduino 2 en die klanksein links kanaal verbind met Arduino op analoog pen A4.
Stap 6: AFWERK
Hierdie draagbare spektrumanaliseerder kan direk met 'n skootrekenaar/ lessenaar, selfoon, tablet of ander musiekspelers verbind word via die 3,5 mm stereo klankaansluiting. Hierdie projek lyk mal, ek hoop jy hou daarvan!
Dankie vir u lees !!!