Innholdsfortegnelse:

CRAZY L.O.L SPECTRUM ANALYZER: 6 trinn (med bilder)
CRAZY L.O.L SPECTRUM ANALYZER: 6 trinn (med bilder)

Video: CRAZY L.O.L SPECTRUM ANALYZER: 6 trinn (med bilder)

Video: CRAZY L.O.L SPECTRUM ANALYZER: 6 trinn (med bilder)
Video: Buried Alive in Foam!!! Madison's Crazy 6th Birthday! Bumper Cars and Foam Party!!! 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

I dag vil jeg dele hvordan jeg lager et lydspektrumanalysator - 36 bånd ved å kombinere 4 LoL Shields sammen. Dette sprø prosjekt bruker et FFT -bibliotek for å analysere et stereolydsignal, konvertere det til frekvensbånd og vise amplituden til disse frekvensbåndene på 4 x LoL Shields.

Før du begynner, kan du se videoen nedenfor:

Trinn 1: Ting vi trenger

De viktigste elektroniske komponentene er som følger:

  • 4 stk x Arduino Uno R3.
  • 4 stk x LoLShield PCB. PCBWay (tilpasset PCB -prototypetjeneste med full funksjon) støttet meg disse LoLShield -kretskortene.
  • 504 stk x LED, 3 mm. Hver LoLShield trenger 126 lysdioder, og vi kan velge 4 forskjellige LED-farger og -typer (diffust eller ikke-diffust).
  • 1 stk x bærbar lader Power Bank batteri 10000/20000mAh.
  • 4 stk x Hannhodet 40pin 2.54mm.
  • 2 stk x USB Type A/B -kabel. Den ene brukes til Arduino -programmering, den andre er til å drive Arduino fra en powerbank.
  • 1 stk x 3,5 mm kvinnelig stereolydkontakt.
  • 1 stk x 3,5 mm 1 mann til 2 kvinnelige lyd splitter adapter eller multi hodetelefon lyd splitter.
  • 1 stk x 3,5 mm stereo lydkontakt mann-hann-kontaktkabel.
Bilde
Bilde
  • 1m x 8P regnbue båndkabel.
  • 1 m x to kjerner strømkabel.
  • 1 stk x Klar akryl, størrelse A4.

Trinn 2: Skjematisk

Skjematisk
Skjematisk

LoLShield er en 9x14 charlieplexing LED -matrise for Arduino, og denne designen inneholder IKKE noen strømbegrensende motstander. Lysdiodene er individuelt adresserbare, så vi kan bruke den til å vise informasjon i en 9 × 14 led -matrise.

LoL -skjoldet gir D0 (Rx), D1 (Tx) og analoge pinner A0 til A5 fri for andre applikasjoner. Bildet nedenfor viser bruk av Arduino Uno pins for dette prosjektet:

Bilde
Bilde

Lydspekteranalysatoren min har 4 x (Arduino Uno + LoLShield). Strømforsyningen og stereolydkontakten 3,5 mm er koblet som skjematisk nedenfor:

Bilde
Bilde

Trinn 3: LOL SHIELD PCB & LED SOLDERING

1. LoL SHIELD PCB

Ѽ. Du kan referere til PCB -design på: https://github.com/jprodgers/LoLshield av Jimmie P. Rodgers.

Bilde
Bilde

Ѽ. PCBWay støttet meg disse LoLShield -kretskortene med rask levering og PCB av høy kvalitet.

Bilde
Bilde

2. LED SOLDING

Ѽ. Hver LoLShield trenger 126 lysdioder, og jeg brukte forskjellige typer og farger for 4x LoLShields som følger:

  • 1 x LoLShield: diffust led, rød farge, 3 mm.
  • 1 x LoLShield: diffust led, grønn farge, 3 mm.
  • 2 x LoLShield: ikke-diffus (klar) led, blå farge, 3 mm.

Ѽ. Forbereder LoLShield PCB og LED

Bilde
Bilde

Ѽ. Lodding 126 LED på LoLShield PCB. Vi bør sjekke lysdiodene etter batteri etter lodding hver rad - 14 lysdioder

TOPP LOLSHIELD

Bilde
Bilde

BUNN LoLSHIELD

Bilde
Bilde

Ѽ. Fullfør ett LoLShield og fortsett å lodde 3 gjenværende LoLShield.

Bilde
Bilde

Trinn 4: TILKOBLING OG MONTERING

Ѽ. Loddestrømforsyning og lydsignal til 4xLoLShield. Et stereosignal bruker to lydkanaler: venstre og høyre som er koblet til Arduino Uno på analoge pinner A4 og A5.

  • A4: Venstre lydkanal.
  • A5: Høyre lydkanal.
Bilde
Bilde

Ѽ. Justering og montering 4 x Arduino Uno på akrylplaten.

Bilde
Bilde

Ѽ. Koble 4 x LoLShield til 4 x Arduino Uno.

Bilde
Bilde

Ѽ. Lim bærbar ladestrømbank og lydkontakt på akrylplate

Bilde
Bilde

Ѽ. Ferdig!

Bilde
Bilde

Trinn 5: PROGRAMMERING

Du bør referere til hvordan LoLShield fungerer basert på Charlieplexing -metoden og Fast Fourier Transform (FFT) på:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

For Charlieplexing tar vi hensyn til de "tre tilstandene" til Arduino digitale pinner: "HIGH" (5V), "LOW" (0V) og "INPUT". "INPUT" -modusen setter Arduino-pinnen i høyimpedans-tilstand. Referanse på:

www.arduino.cc/en/Tutorial/DigitalPins

I mitt prosjekt vises lydfrekvensbåndene på 4 x LoL Shield, og de er beskrevet som vist nedenfor:

Bilde
Bilde

Hver Arduino leser lydsignal på venstre/ høyre kanal og utfører FFT.

for (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Les lydsignal på høyre kanal A5 - ARDUINO 1 & 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Les lydsignal på venstre kanal A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Imaginary_Number = 0; } fix_fft (Real_Number, Imaginary_Number, 6, 0); // Utfør Fast Fourier Transform med 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 - Vis amplitudefrekvensbånd 01 ~ 09 på høyre kanal (A5).

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [y]) // Vis frekvensbånd 01 til 09 {LedSign:: Set (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED AV}}}

Ѽ. Arduino 2 - Vis amplitudefrekvensbånd 10 ~ 18 på høyre kanal (A5).

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [9+y]) // Vis frekvensbånd 10 til 18 {LedSign:: Sett (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED AV}}}

Ѽ. Arduino 3 - Vis amplitudefrekvensbånd 01 ~ 09 på venstre kanal (A4).

Koden er den samme som Arduino 1 og lydsignalets venstre kanal kobles til Arduino på analog pin A4.

Ѽ. Arduino 4 - Vis amplitudefrekvensbånd 10 ~ 18 på venstre kanal.

Koden er den samme som Arduino 2 og lydsignalets venstre kanal kobles til Arduino på analog pin A4.

Trinn 6: SLUTT

BLI FERDIG
BLI FERDIG
BLI FERDIG
BLI FERDIG
BLI FERDIG
BLI FERDIG
BLI FERDIG
BLI FERDIG

Denne bærbare spektrumanalysatoren kan kobles direkte til en bærbar PC/ stasjonær datamaskin, mobiltelefon, nettbrett eller andre musikkspillere via 3,5 mm stereolydkontakt. Dette prosjektet virker gal, jeg håper du liker det!

Takk for at du leser !!!

Anbefalt: