Përmbajtje:
Video: CRAZY L.O.L SPECTRUM ANALYZER: 6 hapa (me fotografi)
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Sot do të doja të tregoja se si të bëj një analizues të spektrit audio - 36 grupe duke kombinuar 4 LoL Shields së bashku. Ky projekt i çmendur përdor një bibliotekë FFT për të analizuar një sinjal audio stereo, për ta kthyer atë në brezat e frekuencave dhe për të shfaqur amplitudën e këtyre brezave të frekuencave në 4 x LoL Shields.
Para se të filloni, shikoni videon më poshtë:
Hapi 1: Gjërat që na duhen
Komponentët kryesorë elektronikë janë si më poshtë:
- 4 copë Arduino Uno R3.
- 4 copë x PCB LoLShield. PCBWay (shërbimi prototip i personalizuar i PCB me funksion të plotë) më mbështeti këto pllaka qarkore të shtypura LoLShield.
- 504pcs x LED, 3mm. Çdo LoLShield ka nevojë për 126 LED dhe ne mund të zgjedhim 4 ngjyra dhe lloje të ndryshme led (të shpërndara ose jo të shpërndara).
- 1pc x Karikues Portativ Power Bank Bateria 10000/20000mAh.
- 4pcs Kreu i meshkujve 40pin 2.54mm.
- 2 copë x Kabllo USB Type A/B. Njëra përdoret për programimin Arduino, tjetra është për fuqizimin e Arduino nga një bankë energjie.
- 1 copë x 3.5mm Fole Femër Stereo Audio.
- 1pcs x 3.5mm 1 Përshtatës i ndarjes së audios për meshkuj në 2 ose ndarës audio me kufje me shumë kufje.
- Kabllo lidhëse mashkull-mashkull 1pcs x 3.5mm Stereo Audio Jack.
- Kabllo fjongo 1 m x 8P Rainbow.
- 1m x Kabllo energjie me dy bërthama.
- 1 copë x Pastrues akrilik, madhësia A4.
Hapi 2: SKEMATIK
LoLShield është një matricë LED 9x14 charlieplexing për Arduino dhe ky dizajn NUK përfshin ndonjë rezistencë aktuale kufizuese. LED -të janë të adresueshme individualisht, kështu që ne mund t'i përdorim ato për të shfaqur informacionin në një matricë të udhëhequr 9 × 14.
Mburoja LoL lë D0 (Rx), D1 (Tx) dhe kunjat analoge A0 në A5 falas për aplikacione të tjera. Fotografia më poshtë tregon përdorimin e kunjave të Arduino Uno për këtë projekt:
Analizuesi im i spektrit audio ka 4 x (Arduino Uno + LoLShield). Furnizimi me energji elektrike dhe foleja audio stereo 3.5 mm janë të lidhura si më poshtë:
Hapi 3: LOL SHIELD PCB & LED Soldering
1. PCL LoL SHIELD
. Ju mund t'i referoheni dizajnit të PCB në: https://github.com/jprodgers/LoLshield nga Jimmie P. Rodgers.
. PCBWay më mbështeti këto pllaka qarkore të shtypura LoLShield me shpërndarje të shpejtë dhe PCB me cilësi të lartë.
2. Saldim LED
. Çdo LoLShield ka nevojë për 126 led dhe kam përdorur lloje dhe ngjyra të ndryshme për 4x LoLShields si më poshtë:
- 1 x LoLShield: led e shpërndarë, ngjyrë e kuqe, 3mm.
- 1 x LoLShield: led e shpërndarë, ngjyrë jeshile, 3mm.
- 2 x LoLShield: led jo i përhapur (i qartë), ngjyrë blu, 3 mm.
. Përgatitja e PCB dhe LED LoLShield
. Bashkimi i 126 LED në PCB LoLShield. Ne duhet të kontrollojmë LED -të me bateri pasi të bashkojmë çdo rresht - 14 LED
TOP LoLSHIELD
NDARJA E POSHTME
. Përfundoni një LoLShield dhe vazhdoni të lidhni 3 LoLShield të mbetur.
Hapi 4: LIDHJA DHE KUVENDIMI
. Furnizimi me energji bashkuese dhe sinjal audio në 4xLoLShield. Një sinjal stereo përdor dy kanale audio: majtas dhe djathtas të cilët janë të lidhur me Arduino Uno në kunjat analoge A4 & A5.
- A4: Kanali audio i majtë.
- A5: Kanali audio i djathtë.
. Rreshtimi dhe montimi i 4 x Arduino Uno në pllakën akrilike.
. Duke lidhur 4 x LoLShield në 4 x Arduino Uno.
. Ngjiteni bankën e ngarkuesit portativ të energjisë dhe prizën audio në pllakën akrilike
. U krye!
Hapi 5: PROGRAMIMI
Ju duhet t'i referoheni mënyrës sesi funksionon LoLShield bazuar në metodën Charlieplexing dhe Fast Fourier Transform (FFT) në:
en.wikipedia.org/wiki/Charlieplexing
github.com/kosme/fix_fft
Për Charlieplexing, ne i kushtojmë vëmendje "tre gjendjeve" të kunjave dixhital Arduino: "HIGH" (5V), "LOW" (0V) dhe "INPUT". Mënyra "INPUT" e vendos pinin Arduino në gjendje të rezistencës së lartë. Referenca në:
www.arduino.cc/en/Tutorial/DigitalPins
Në projektin tim, brezat e frekuencave audio shfaqen në 4 x LoL Shield dhe ato përshkruhen siç tregohet më poshtë:
Çdo Arduino lexon sinjal audio në kanalin majtas/ djathtas dhe kryen FFT.
për (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Lexoni sinjalin audio në kanalin e djathtë A5 - ARDUINO 1 & 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Lexoni sinjalin audio në kanalin e majtë A4 - ARDUINO 3 & 4 Numri i vërtetë = Audio_Input; Numri imagjinar = 0; } fix_fft (Numri i vërtetë, numri imagjinar, 6, 0); // Kryeni Transformim të Shpejtë Furier me N_WAVE = 6 (2^6 = 64) për (i = 0; i <32; i ++) {Numri i vërtetë = 2 * sqrt (Numri i vërtetë * Numri i vërtetë +Numri imagjinar * Numri imagjinar ); }
. Arduino 1 - Shfaq brezat e frekuencave të amplitudës 01 ~ 09 të kanalit të djathtë (A5).
për (int x = 0; x <14; x ++) {për (int y = 0; y <9; y ++) {nëse (x <Numri i vërtetë [y]) // Shfaq brezat e frekuencave 01 deri 09 {LedSign:: Set (13-x, 8-y, 1); // LED ON} tjetër {LedSign:: Set (13-x, 8-y, 0); // LED OFF}}}
. Arduino 2 - Shfaq brezat e frekuencave të amplitudës 10 ~ 18 të kanalit të djathtë (A5).
për (int x = 0; x <14; x ++) {për (int y = 0; y <9; y ++) {nëse (x <Numri i vërtetë [9+y]) // Shfaq brezat e frekuencës 10 deri në 18 {LedSign:: Set (13-x, 8-y, 1); // LED ON} tjetër {LedSign:: Set (13-x, 8-y, 0); // LED OFF}}}
. Arduino 3 - Shfaq brezat e frekuencave të amplitudës 01 ~ 09 të kanalit të majtë (A4).
Kodi është i njëjtë me Arduino 1 dhe sinjali audio kanali i majtë lidhet me Arduino në pin analog A4.
. Arduino 4 - Shfaq brezat e frekuencave të amplitudës 10 ~ 18 të kanalit të majtë.
Kodi është i njëjtë me Arduino 2 dhe sinjali audio kanali i majtë lidhet me Arduino në pin analog A4.
Hapi 6: P FRFUNDIM
Ky analizues i spektrit portativ mund të lidhet drejtpërdrejt me një kompjuter portativ/ desktop, telefon celular, tabletë ose luajtës të tjerë të muzikës nëpërmjet folesë stereo audio 3.5 mm. Ky projekt duket i çmendur, shpresoj të ju pëlqejë!
Faleminderit për leximin tuaj !!!