Talaan ng mga Nilalaman:

CRAZY L.O.L SPECTRUM ANALYZER: 6 na Hakbang (na may Mga Larawan)
CRAZY L.O.L SPECTRUM ANALYZER: 6 na Hakbang (na may Mga Larawan)

Video: CRAZY L.O.L SPECTRUM ANALYZER: 6 na Hakbang (na may Mga Larawan)

Video: CRAZY L.O.L SPECTRUM ANALYZER: 6 na Hakbang (na may Mga Larawan)
Video: DR. VICKI BELO's TRANSFORMATION💖🤩#vickibelo #doctor #transformation #viral #trending 2024, Nobyembre
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

Ngayon nais kong ibahagi kung paano gumawa ng isang audio spectrum analyzer - 36 mga banda sa pamamagitan ng pagsasama-sama ng 4 na Mga LoL Shield. Ang nakatutuwang proyekto na ito ay gumagamit ng isang FFT library upang pag-aralan ang isang stereo audio signal, i-convert ito sa mga frequency band, at ipakita ang amplitude ng mga frequency band na ito sa 4 x LoL Shields.

Bago magsimula, mangyaring panoorin ang video sa ibaba:

Hakbang 1: MGA BAGAY NA KINAKAILANGAN NATIN

Ang pangunahing mga elektronikong sangkap ay tulad ng sa ibaba:

  • 4pcs x Arduino Uno R3.
  • 4pcs x LoLShield PCB. Sinuportahan ako ng PCBWay (Buong tampok na pasadyang serbisyo ng prototype ng PCB) sa mga naka-print na circuit board na LoLShield na ito.
  • 504pcs x LED, 3mm. Ang bawat LoLShield ay nangangailangan ng 126 LEDs at maaari kaming pumili ng 4 na magkakaibang mga kulay at uri ng led (diffuse o non-diffuse).
  • 1pcs x Portable Charger Power Bank Baterya 10000 / 20000mAh.
  • 4pcs x Lalaki Header 40pin 2.54mm.
  • 2pcs x USB Type A / B cable. Ang isa ay ginagamit para sa programa ng Arduino, ang isa pa ay para sa pagpapatakbo ng Arduino mula sa isang power bank.
  • 1pcs x 3.5mm Babae Stereo Audio Jack.
  • 1pcs x 3.5mm 1 Lalaki hanggang 2 Babae Audio Splitter Adapter o Multi Headphone Audio Splitter.
  • 1pcs x 3.5mm Stereo Audio Jack Lalaki-Lalaki Connector Cable.
Larawan
Larawan
  • 1m x 8P Rainbow Ribbon Cable.
  • 1m x Dalawang Cores Power Cable.
  • 1pcs x Malinaw na Acrylic, laki ng A4.

Hakbang 2: SKEMATIK

SKEMATIK
SKEMATIK

Ang LoLShield ay isang 9x14 charlieplexing LED matrix para sa Arduino at ang disenyo na ito ay HINDI kasama ang anumang kasalukuyang nililimitahan na resistors. Ang mga LED ay isa-isang natugunan, kaya maaari natin itong magamit upang maipakita ang impormasyon sa isang 9 × 14 led matrix.

Ang LoL Shield ay umalis sa D0 (Rx), D1 (Tx) at mga analog pin na A0 hanggang A5 libre para sa iba pang mga application. Ipinapakita ng larawan sa ibaba ang paggamit ng Arduino Uno para sa proyektong ito:

Larawan
Larawan

Ang aking audio spectrum analyzer ay mayroong 4 x (Arduino Uno + LoLShield). Ang power supply at stereo audio jack 3.5mm ay konektado sa ibaba ng eskematiko:

Larawan
Larawan

Hakbang 3: LOL SHIELD PCB & LED SOLDERING

1. LoL SHIELD PCB

. Maaari kang mag-refer sa disenyo ng PCB sa: https://github.com/jprodgers/LoLshield ni Jimmie P. Rodgers.

Larawan
Larawan

. Sinuportahan ako ng PCBWay ng mga naka-print na circuit board na LoLShield na may mabilis na paghahatid at mataas na kalidad na PCB.

Larawan
Larawan

2. LED SOLDERING

. Ang bawat LoLShield ay nangangailangan ng 126 leds at gumamit ako ng iba't ibang uri at kulay para sa 4x LoLShields tulad ng sumusunod:

  • 1 x LoLShield: nagkakalat na humantong, pulang kulay, 3mm.
  • 1 x LoLShield: nagkakalat na humantong, berdeng kulay, 3mm.
  • 2 x LoLShield: di-kalat (malinaw) na humantong, asul na kulay, 3mm.

. Paghahanda ng LoLShield PCB at LED

Larawan
Larawan

. Paghinang 126 LED papunta sa LoLShield PCB. Dapat nating suriin ang mga LED sa pamamagitan ng baterya pagkatapos ng paghihinang sa bawat hilera - 14 LEDs

TOP LoLSHIELD

Larawan
Larawan

BOTTOM LoLSHIELD

Larawan
Larawan

. Tinatapos ang isang LoLShield at patuloy na maghinang ng 3 natitirang LoLShield.

Larawan
Larawan

Hakbang 4: CONNECTION AND ASSEMBLY

. Pag-solder ng power supply at audio signal sa 4xLoLShield. Ang isang signal ng stereo ay gumagamit ng dalawang mga audio channel: kaliwa at kanan na konektado sa Arduino Uno sa mga analog pin na A4 & A5.

  • A4: Kaliwa Audio Channel.
  • A5: Tamang Audio Channel.
Larawan
Larawan

. Nakahanay at na-mount ang 4 x Arduino Uno sa acrylic plate.

Larawan
Larawan

. Pag-plug ng 4 x LoLShield sa 4 x Arduino Uno.

Larawan
Larawan

. Pandikit portable power charger bank at audio jack sa acrylic plate

Larawan
Larawan

. Tapos na!

Larawan
Larawan

Hakbang 5: PROGRAMMING

Dapat kang sumangguni sa kung paano gumagana ang LoLShield batay sa pamamaraan ng Charlieplexing at Fast Fourier Transform (FFT) sa:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

Para sa Charlieplexing, binibigyang pansin namin ang "tatlong estado" ng mga digital na pin ng Arduino: "HIGH" (5V), "LOW" (0V) at "INPUT". Inilalagay ng mode na "INPUT" ang pin ng Arduino sa estado ng mataas na impedance. Sanggunian sa:

www.arduino.cc/en/Tutorial/DigitalPins

Sa aking proyekto, ang mga audio frequency band ay ipinapakita sa 4 x LoL Shield at inilalarawan ang mga ito tulad ng ipinakita sa ibaba:

Larawan
Larawan

Ang bawat Arduino ay nagbabasa ng audio signal sa kaliwa / kanang channel at gumanap ng FFT.

para sa (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Basahin ang audio signal sa kanang channel A5 - ARDUINO 1 & 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Basahin ang audio signal sa kaliwang channel A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Imaginary_Number = 0; } fix_fft (Real_Number, Imaginary_Number, 6, 0); // Perform Fast Fourier Transform with N_WAVE = 6 (2 ^ 6 = 64) for (i = 0; i <32; i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Number + Imaginary_Number * Imaginary_Number ); }

. Arduino 1 - Ipakita ang mga bandang dalas ng amplitude 01 ~ 09 ng kanang channel (A5).

para sa (int x = 0; x <14; x ++) {para sa (int y = 0; y <9; y ++) {kung (x <Real_Number [y]) // Ipakita ang mga frequency band 01 hanggang 09 {LedSign:: Itakda (13-x, 8-y, 1); // LED ON} iba pa {LedSign:: Itakda (13-x, 8-y, 0); // LED OFF}}}

. Arduino 2 - Ipakita ang mga band ng dalas ng amplitude 10 ~ 18 ng kanang channel (A5).

para sa (int x = 0; x <14; x ++) {para sa (int y = 0; y <9; y ++) {kung (x <Real_Number [9 + y]) // Mga frequency band ng pagpapakita 10 hanggang 18 {LedSign:: Itakda (13-x, 8-y, 1); // LED ON} iba pa {LedSign:: Itakda (13-x, 8-y, 0); // LED OFF}}}

. Arduino 3 - Ipakita ang mga band ng dalas ng amplitude na 01 ~ 09 ng kaliwang channel (A4).

Ang code ay kapareho ng Arduino 1 at audio signal left channel kumonekta sa Arduino sa analog pin A4.

. Arduino 4 - Ipakita ang mga band ng dalas ng amplitude 10 ~ 18 ng kaliwang channel.

Ang code ay kapareho ng Arduino 2 at audio signal left channel kumonekta sa Arduino sa analog pin A4.

Hakbang 6: TAPOS

TAPOS
TAPOS
TAPOS
TAPOS
TAPOS
TAPOS
TAPOS
TAPOS

Ang portable spectrum analyzer na ito ay maaaring direktang kumonekta sa isang laptop / desktop, mobile phone, tablet o iba pang mga manlalaro ng musika sa pamamagitan ng 3.5mm stereo audio jack. Mukhang baliw ang proyektong ito, sana ay magustuhan mo ito!

Salamat sa iyong pagbabasa !!!

Inirerekumendang: