Sisukord:

CRAZY L.O.L SPECTRUM ANALYZER: 6 sammu (koos piltidega)
CRAZY L.O.L SPECTRUM ANALYZER: 6 sammu (koos piltidega)

Video: CRAZY L.O.L SPECTRUM ANALYZER: 6 sammu (koos piltidega)

Video: CRAZY L.O.L SPECTRUM ANALYZER: 6 sammu (koos piltidega)
Video: Genetic Engineering Will Change Everything Forever – CRISPR 2024, November
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

Täna tahaksin jagada, kuidas teha helispektri analüsaator - 36 riba, kombineerides 4 LoL Shieldsi. See hull projekt kasutab FFT raamatukogu, et analüüsida stereo helisignaali, teisendada see sagedusribadeks ja kuvada nende sagedusalade amplituud 4 x LoL Shieldsil.

Enne alustamist vaadake palun allolevat videot:

1. samm: ASJAD, MIDA VAJAME

Peamised elektroonilised komponendid on järgmised:

  • 4 tk x Arduino Uno R3.
  • 4 tk x LoLShield PCB. PCBWay (täisfunktsionaalne kohandatud PCB prototüüpide teenus) toetas mind neid LoLShieldi trükkplaate.
  • 504tk x LED, 3mm. Iga LoLShield vajab 126 LED-i ja saame valida 4 erinevat LED-värvi ja tüüpi (hajutatud või hajutamata).
  • 1 tk x kaasaskantav laadija toitepanga aku 10000/20000mAh.
  • 4tk x isane päis 40pin 2,54mm.
  • 2 tk x A/B tüüpi USB -kaabel. Ühte kasutatakse Arduino programmeerimiseks, teist aga Arduino toiteks toitepangast.
  • 1 tk x 3,5 mm naissoost stereohelipistik.
  • 1 tk x 3,5 mm
  • 1 tk x 3,5 mm stereoheli pesa mees-mees pistikupesa.
Pilt
Pilt
  • 1 m x 8P vikerkaarekaabel.
  • 1 m x kahe südamikuga toitekaabel.
  • 1 tk x läbipaistev akrüül, suurus A4.

2. etapp: KEEMILINE

Skeemiline
Skeemiline

LoLShield on 9x14 charlieplexing LED -maatriks Arduino jaoks ja see disain EI sisalda ühtegi voolu piiravat takistit. LEDid on individuaalselt adresseeritavad, nii et saame neid kasutada teabe kuvamiseks 9 × 14 led -maatriksis.

LoL Shield jätab D0 (Rx), D1 (Tx) ja analoogpoldid A0 kuni A5 muude rakenduste jaoks vabaks. Alloleval pildil on näidatud Arduino Uno tihvtide kasutamine selle projekti jaoks:

Pilt
Pilt

Minu helispektri analüsaatoril on 4 x (Arduino Uno + LoLShield). Toiteallikas ja stereohelipistik 3,5 mm on ühendatud skemaatiliselt:

Pilt
Pilt

3. samm: LOL SHIELD PCB & LED SOLDINGING

1. LoL SHIELD PCB

Ѽ. PCB disainile saate viidata aadressil: https://github.com/jprodgers/LoLshield, autor Jimmie P. Rodgers.

Pilt
Pilt

Ѽ. PCBWay toetas mind neid LoLShieldi trükkplaate, millel on kiire kohaletoimetamine ja kvaliteetne PCB.

Pilt
Pilt

2. LED -JUOTMINE

Ѽ. Iga LoLShield vajab 126 LED -i ja 4x LoLShieldi jaoks kasutasin erinevat tüüpi ja värve järgmiselt:

  • 1 x LoLShield: hajutatud led, punane värv, 3 mm.
  • 1 x LoLShield: hajutatud led, roheline värv, 3 mm.
  • 2 x LoLShield: hajutamata (selge) LED, sinine värv, 3 mm.

Ѽ. LoLShield PCB ja LED -i ettevalmistamine

Pilt
Pilt

Ѽ. 126 LED jootmine LoLShieldi trükkplaadile. Peaksime pärast iga rea jootmist kontrollima valgusdioode aku järgi - 14 LED -i

TOP LoLSHIELD

Pilt
Pilt

PÕHI LoLSHIELD

Pilt
Pilt

Ѽ. Lõpetage üks LoLShield ja jätkake 3 ülejäänud LoLShieldi jootmist.

Pilt
Pilt

4. samm: ÜHENDAMINE JA KOKKUVÕTMINE

Ѽ. Toiteallika ja helisignaali jootmine 4xLoLShieldi. Stereosignaal kasutab kahte helikanalit: vasakut ja paremat, mis on ühendatud Arduino Unoga analoogpistikutega A4 ja A5.

  • A4: vasakpoolne helikanal.
  • A5: parem helikanal.
Pilt
Pilt

Ѽ. Joondamine ja paigaldamine 4 x Arduino Uno akrüülplaadile.

Pilt
Pilt

Ѽ. 4 x LoLShieldi ühendamine 4 x Arduino Unoga.

Pilt
Pilt

Ѽ. Liimige akrüülplaadile kaasaskantav laadija toitepank ja helipistik

Pilt
Pilt

Ѽ. Valmis!

Pilt
Pilt

5. samm: PROGRAMMIMINE

Peaksite viitama sellele, kuidas LoLShield Charlieplexingi meetodi ja kiire Fourier -teisenduse (FFT) alusel töötab:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

Charlieplexingu puhul pöörame tähelepanu Arduino digitaalsete tihvtide "kolmele olekule": "HIGH" (5V), "LOW" (0V) ja "INPUT". Režiim "INPUT" paneb Arduino tihvti kõrge takistusega olekusse. Viide aadressil:

www.arduino.cc/en/Tutorial/DigitalPins

Minu projektis kuvatakse heli sagedusribad 4 x LoL Shieldil ja neid kirjeldatakse järgmiselt:

Pilt
Pilt

Iga Arduino loeb helisignaali vasakult/ paremalt kanalilt ja sooritab FFT.

jaoks (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Helisignaali lugemine paremal kanalil A5 - ARDUINO 1 & 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Helisignaali lugemine vasakul kanalil A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Kujuteldav_arv = 0; } fix_fft (tegelik_arv, kujuteldav_arv, 6, 0); // Teostage kiire Fourier 'teisendus N_WAVE = 6 (2^6 = 64) korral (i = 0; i <32; i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Number +Imaginary_Number * Kujuteldav_arv ); }

Ѽ. Arduino 1 - kuvab parema kanali (A5) amplituudi sagedusribasid 01–09.

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [y]) // Kuva sagedusribad 01 kuni 09 {LedSign:: Set (13-x, 8-y, 1); // LED SISSE} else {LedSign:: Set (13-x, 8-y, 0); // LED VÄLJAS}}}

Ѽ. Arduino 2 - kuvab parempoolse kanali (A5) amplituudi sagedusribasid 10 ~ 18.

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [9+y]) // Kuva sagedusribad 10 kuni 18 {LedSign:: Komplekt (13-x, 8-y, 1); // LED SISSE} else {LedSign:: Set (13-x, 8-y, 0); // LED VÄLJAS}}}

Ѽ. Arduino 3 - kuvage vasakpoolse kanali (A4) amplituudsagedusi 01–09.

Kood on sama nagu Arduino 1 ja helisignaali vasak kanal ühendatakse Arduinoga analoogpistikul A4.

Ѽ. Arduino 4 - kuvage vasakpoolse kanali 10–18 amplituudi sagedusribasid.

Kood on sama mis Arduino 2 ja helisignaali vasak kanal ühendatakse Arduinoga analoogpistikul A4.

6. samm: VIIMISTLUS

LÕPETAMA
LÕPETAMA
LÕPETAMA
LÕPETAMA
LÕPETAMA
LÕPETAMA
LÕPETAMA
LÕPETAMA

See kaasaskantav spektrianalüsaator saab ühendada otse sülearvuti/ lauaarvuti, mobiiltelefoni, tahvelarvuti või muude muusikamängijatega 3,5 mm stereohelipistiku kaudu. See projekt tundub hull, loodan, et teile meeldib!

Täname lugemise eest !!!

Soovitan: