
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41


Tänään haluaisin kertoa, kuinka tehdä äänispektrianalysaattori - 36 kaistaa yhdistämällä 4 LoL -suojaa. Tämä hullu projekti käyttää FFT -kirjastoa analysoidakseen stereoäänisignaalin, muuntaa sen taajuuskaistoiksi ja näyttämään näiden taajuuskaistojen amplitudin 4 x LoL -suojalla.
Ennen kuin aloitat, katso alla oleva video:
Vaihe 1: TARVITTAVAT ASIAT
Tärkeimmät elektroniset komponentit ovat seuraavat:
- 4 kpl x Arduino Uno R3.
- 4 kpl x LoLShield -piirilevy. PCBWay (mukautetut PCB -prototyyppipalvelut) tuki minulle näitä LoLShield -piirilevyjä.
- 504 kpl x LED, 3 mm. Jokainen LoLShield tarvitsee 126 LEDiä ja voimme valita 4 erilaista led-väriä ja -tyyppiä (hajautettu tai hajaantumaton).
- 1 kpl x kannettava laturi Power Bank -akku 10000/20000mAh.
- 4kpl x urospää 40pin 2,54mm.
- 2 kpl x USB Type A/B -kaapeli. Toista käytetään Arduinon ohjelmointiin, toista Arduinon virransyöttöön virtapankista.
- 1 kpl x 3,5 mm: n naaras stereoääniliitin.
- 1 kpl x 3,5 mm 1 uros - 2 naarasäänen jakajasovitin tai kuulokkeiden audiojakaja.
- 1 kpl x 3,5 mm stereoääniliitin uros-uros-liitäntäkaapeli.

- 1 m x 8P Rainbow -nauhakaapeli.
- 1 m x kahden ytimen virtajohto.
- 1 kpl x kirkas akryyli, koko A4.
Vaihe 2: SKEMAATTINEN

LoLShield on 9x14 charlieplexing -LED -matriisi Arduinolle, eikä tämä malli EI sisällä virranrajoitusvastuksia. LEDit ovat yksilöllisesti osoitettavissa, joten voimme käyttää niitä tietojen näyttämiseen 9 × 14 led -matriisissa.
LoL Shield jättää D0 (Rx), D1 (Tx) ja analogiset nastat A0 - A5 vapaiksi muihin sovelluksiin. Alla olevassa kuvassa näkyy Arduino Unon nastojen käyttö tässä projektissa:

Äänispektrianalysaattorissani on 4 x (Arduino Uno + LoLShield). Virtalähde ja stereoääniliitäntä 3,5 mm on kytketty alla olevan kaavion mukaisesti:

Vaihe 3: LOL SHIELD PCB & LED SOLDING
1. LoL SHIELD PCB
Ѽ. Voit viitata piirilevyjen suunnitteluun osoitteessa: https://github.com/jprodgers/LoLshield, kirjoittanut Jimmie P. Rodgers.

Ѽ. PCBWay tuki minua näillä LoLShield -piirilevyillä, joissa on nopea toimitus ja korkealaatuinen piirilevy.

2. LED -JUOTOS
Ѽ. Jokainen LoLShield tarvitsee 126 lediä ja käytin eri tyyppisiä ja värejä 4x LoLShieldsissä seuraavasti:
- 1 x LoLShield: hajavalo, punainen, 3 mm.
- 1 x LoLShield: hajavalo, vihreä, 3 mm.
- 2 x LoLShield: hajautumaton (kirkas) led, sininen väri, 3 mm.
Ѽ. LoLShield -piirilevyn ja LEDin valmistelu

Ѽ. Juotos 126 LED LoLShield -piirilevylle. Meidän pitäisi tarkistaa LEDit akulla jokaisen rivin juottamisen jälkeen - 14 LEDiä
TOP LoLSHIELD

ALAS LoLSHIELD

Ѽ. Viimeistellään yksi LoLShield ja jatketaan 3 jäljellä olevan LoLShieldin juottamista.

Vaihe 4: KYTKENTÄ JA KOKOAMINEN
Ѽ. Juotosvirtalähde ja äänisignaali 4xLoLShieldiin. Stereosignaali käyttää kahta äänikanavaa: vasenta ja oikeaa, jotka on liitetty Arduino Unoon analogisilla nastoilla A4 ja A5.
- A4: Vasen äänikanava.
- A5: Oikea äänikanava.

Ѽ. Kohdistus ja asennus 4 x Arduino Uno akryylilevylle.

Ѽ. Liitä 4 x LoLShield 4 x Arduino Unoon.

Ѽ. Liimaa kannettava laturin virtapankki ja ääniliitäntä akryylilevylle

Ѽ. Tehty!

Vaihe 5: OHJELMOINTI
Katso, miten LoLShield toimii Charlieplexing -menetelmän ja nopean Fourier -muunnoksen (FFT) perusteella osoitteessa:
en.wikipedia.org/wiki/Charlieplexing
github.com/kosme/fix_fft
Charlieplexingissä kiinnitämme huomiota Arduinon digitaalisten nastojen "kolmeen tilaan": "HIGH" (5V), "LOW" (0V) ja "INPUT". "INPUT" -tila asettaa Arduino-nastan korkean impedanssin tilaan. Viite:
www.arduino.cc/en/Tutorial/DigitalPins
Projektissani äänitaajuuskaistat näytetään 4 x LoL Shield -laitteella ja ne kuvataan alla esitetyllä tavalla:

Jokainen Arduino lukee audiosignaalin vasemmalta/ oikealta kanavalta ja suorittaa FFT: n.
for (i = 0; i <64; i ++) {Audio_Input = analoginen lukema (RIGHT_CHANNEL); // Lue äänisignaali oikealta kanavalta A5 - ARDUINO 1 & 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Lue audiosignaali vasemmalta kanavalta A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Kuvitteellinen_numero = 0; } fix_fft (Todellinen_luku, Kuvitteellinen_numero, 6, 0); // Suorita nopea Fourier -muunnos N_WAVE = 6 (2^6 = 64) kohteelle (i = 0; i <32; i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Number +Imaginary_Number * Kuvitteellinen_numero ); }
Ѽ. Arduino 1 - Näytä oikean kanavan (A5) amplituditaajuudet 01-09.
for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [y]) // Näytä taajuusalueet 01 - 09 {LedSign:: Set (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED POIS PÄÄLTÄ}}}
Ѽ. Arduino 2 - Näyttää oikean kanavan (A5) amplituditaajuudet 10 ~ 18.
for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [9+y]) // Näytä taajuusalueet 10-18 {LedSign:: Sarja (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED POIS PÄÄLTÄ}}}
Ѽ. Arduino 3 - Näytä vasemman kanavan (A4) amplituditaajuudet 01-09.
Koodi on sama kuin Arduino 1 ja vasemmanpuoleinen äänisignaali yhdistetään Arduinoon analogisella nastalla A4.
Ѽ. Arduino 4 - Näyttää vasemman kanavan amplituditaajuudet 10 ~ 18.
Koodi on sama kuin Arduino 2 ja vasemmanpuoleinen äänisignaali yhdistetään Arduinoon analogisella nastalla A4.
Vaihe 6: VALMIS




Tämä kannettava spektrianalysaattori voi muodostaa yhteyden suoraan kannettavaan tietokoneeseen/ pöytäkoneeseen, matkapuhelimeen, tablettiin tai muihin musiikkisoittimiin 3,5 mm: n stereoääniliitännän kautta. Tämä projekti vaikuttaa hullulta, toivottavasti pidät siitä!
Kiitos lukemastasi !!!
Suositeltava:
DIY FFT Audio Spectrum Analyzer: 3 vaihetta

DIY FFT Audio Spectrum Analyzer: FFT -spektrianalysaattori on testilaite, joka käyttää Fourier -analyysiä ja digitaalisia signaalinkäsittelytekniikoita spektrianalyysin tarjoamiseen. Fourier -analyysiä käyttämällä on mahdollista muuntaa yksi arvo esimerkiksi jatkuvan aikatason alueella
ZX Spectrum USB -sovitin Raspberry Pi RetroPie -rakenteille: 5 vaihetta (kuvilla)

ZX Spectrum USB -sovitin Raspberry Pi RetroPie Buildsille: RetroPie on erityinen Linux-distro, joka on suunniteltu erityisesti emuloimaan retro-videopelijärjestelmiä Raspberry Pis -laitteilla ja muilla yhden piirilevyn tietokoneilla. Olen jo jonkin aikaa halunnut mennä täysillä RetroPie-kokoonpanoon, ja kun näin sen repro
MSP430 Breadboard Audio Spectrum Analyzer: 6 vaihetta

MSP430 Breadboard Audio Spectrum Analyzer: Tämä projekti on mikrofonipohjainen ja vaatii vain vähän ulkoisia komponentteja. Käytetään 2 x LR44-nappiparistoa, jotta voin saada koko rakenteen toimimaan 170 solmukohdan minileipälevyn rajoissa. ADC10, TimerA keskeyttää LPM-herätyksen, TimerA PWM
LoL Shield Audio Spectrum VU -mittari: 4 vaihetta (kuvilla)

LoL Shield Audio Spectrum VU Meter: Tämä on äänispektrinen VU -mittari, joka käyttää LoL Shieldiä Arduinolle. LoL Shield on 14 x 9 LED -matriisi, joka sopii Arduinolle suojana ja jota ohjataan tehokkaalla Charlieplexing -menetelmällä. Sen on suunnitellut Jimmie P
Crazy Palm PDA -näyttö: 4 vaihetta

Crazy Palm PDA -näyttö: Käytän Sony Clien Palm OS -järjestäjää. Minulle uusi kunnostettu yksikkö ei aina vastannut kynän antamaan panokseen odotetulla tavalla. Olen oppinut joillakin verkkohauilla, että tätä kutsutaan "Mad Digitizer -oireyhtymäksi"