Innehållsförteckning:

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

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

Video: CRAZY L.O.L SPECTRUM ANALYZER: 6 steg (med bilder)
Video: Sun Damage Is Terrifying 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

Idag skulle jag vilja dela hur man gör en ljudspektrumanalysator - 36 band genom att kombinera 4 LoL Shields tillsammans. Detta galna projekt använder ett FFT -bibliotek för att analysera en stereoljudssignal, konvertera den till frekvensband och visa amplituden för dessa frekvensband på 4 x LoL Shields.

Titta på videon nedan innan du börjar:

Steg 1: Saker vi behöver

De viktigaste elektroniska komponenterna är enligt nedan:

  • 4st x Arduino Uno R3.
  • 4st x LoLShield PCB. PCBWay (Fullständig anpassad PCB -prototyptjänst) stödde mig dessa LoLShield -kretskort.
  • 504st x LED, 3mm. Varje LoLShield behöver 126 lysdioder och vi kan välja 4 olika ledfärger och typer (diffuserade eller icke-diffuserade).
  • 1st x bärbar laddare Power Bank batteri 10000/20000mAh.
  • 4st x Manlig Header 40pin 2.54mm.
  • 2st x USB Type A/B -kabel. Den ena används för Arduino -programmering, den andra är för att driva Arduino från en powerbank.
  • 1st x 3,5 mm stereokontakt för kvinnor.
  • 1st x 3,5 mm 1 hane till 2 kvinnlig ljudsplitteradapter eller multihörlurar ljudsplitter.
  • 1st x 3,5 mm Stereo Audio Jack hane-hane anslutningskabel.
Bild
Bild
  • 1m x 8P Rainbow Ribbon -kabel.
  • 1m x tvåkärnig strömkabel.
  • 1st x Klar akryl, storlek A4.

Steg 2: SCHEMATISK

SCHEMATISK
SCHEMATISK

LoLShield är en 9x14 charlieplexing LED -matris för Arduino och denna design innehåller INTE några strömbegränsande motstånd. Lysdioderna är individuellt adresserbara, så vi kan använda den för att visa information i en 9 × 14 ledmatris.

LoL Shield lämnar D0 (Rx), D1 (Tx) och analoga stift A0 till A5 lediga för andra applikationer. Bilden nedan visar användning av Arduino Uno -pins för detta projekt:

Bild
Bild

Min ljudspektrumanalysator har 4 x (Arduino Uno + LoLShield). Strömförsörjningen och stereoljuduttaget 3,5 mm är anslutna enligt schemat nedan:

Bild
Bild

Steg 3: LOL SHIELD PCB & LED SOLDERING

1. LoL SHIELD PCB

Ѽ. Du kan hänvisa till PCB -design på: https://github.com/jprodgers/LoLshield av Jimmie P. Rodgers.

Bild
Bild

Ѽ. PCBWay stödde mig dessa LoLShield -kretskort med snabb leverans och högkvalitativt kretskort.

Bild
Bild

2. LED -SÄLJNING

Ѽ. Varje LoLShield behöver 126 lysdioder och jag använde olika typer och färger för 4x LoLShields enligt följande:

  • 1 x LoLShield: diffus led, röd färg, 3 mm.
  • 1 x LoLShield: diffus led, grön färg, 3 mm.
  • 2 x LoLShield: icke-diffus (klar) led, blå färg, 3 mm.

Ѽ. Förbereder LoLShield PCB och LED

Bild
Bild

Ѽ. Lödning 126 LED på LoLShield PCB. Vi bör kontrollera lysdioderna med batteri efter lödning varje rad - 14 lysdioder

ÖVERST LoLSHIELD

Bild
Bild

BOTTOM LoLSHIELD

Bild
Bild

Ѽ. Slutför en LoLShield och fortsätt att löda 3 återstående LoLShield.

Bild
Bild

Steg 4: ANSLUTNING OCH MONTERING

Ѽ. Lödkraftförsörjning och ljudsignal till 4xLoLShield. En stereosignal använder två ljudkanaler: vänster och höger som är anslutna till Arduino Uno med analoga stift A4 och A5.

  • A4: Vänster ljudkanal.
  • A5: Höger ljudkanal.
Bild
Bild

Ѽ. Justering och montering 4 x Arduino Uno på akrylplattan.

Bild
Bild

Ѽ. Ansluter 4 x LoLShield till 4 x Arduino Uno.

Bild
Bild

Ѽ. Limma bärbar laddare powerbank och ljuduttag på akrylplatta

Bild
Bild

Ѽ. Gjort!

Bild
Bild

Steg 5: PROGRAMMERING

Du bör hänvisa till hur LoLShield fungerar baserat på Charlieplexing -metoden och Fast Fourier Transform (FFT) på:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

För Charlieplexing uppmärksammar vi "tre tillstånd" för Arduino digitala stift: "HIGH" (5V), "LOW" (0V) och "INPUT". "INPUT" -läget sätter Arduino-stiftet i högimpedansläge. Referens på:

www.arduino.cc/en/Tutorial/DigitalPins

I mitt projekt visas ljudfrekvensbanden på 4 x LoL Shield och de beskrivs enligt nedan:

Bild
Bild

Varje Arduino läser ljudsignal på vänster/ höger kanal och utför FFT.

för (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Läs ljudsignal på höger kanal A5 - ARDUINO 1 & 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Läs ljudsignal på vänster kanal A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Imaginary_Number = 0; } fix_fft (Real_Number, Imaginary_Number, 6, 0); // Utför snabb Fourier -transform med N_WAVE = 6 (2^6 = 64) för (i = 0; i <32; i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Number +Imaginary_Number * Imaginary_Number ); }

Ѽ. Arduino 1 - Visa amplitudfrekvensband 01 ~ 09 på höger kanal (A5).

för (int x = 0; x <14; x ++) {för (int y = 0; y <9; y ++) {if (x <Real_Number [y]) // Visa frekvensband 01 till 09 {LedSign:: Set (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED AV}}}

Ѽ. Arduino 2 - Visa amplitudfrekvensband 10 ~ 18 på höger kanal (A5).

för (int x = 0; x <14; x ++) {för (int y = 0; y <9; y ++) {if (x <Real_Number [9+y]) // Visa frekvensband 10 till 18 {LedSign:: Set (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED AV}}}

Ѽ. Arduino 3 - Visa amplitudfrekvensband 01 ~ 09 på vänster kanal (A4).

Koden är densamma som Arduino 1 och ljudsignal vänster kanal ansluts till Arduino med analog stift A4.

Ѽ. Arduino 4 - Visa amplitudfrekvensband 10 ~ 18 på vänster kanal.

Koden är densamma som Arduino 2 och ljudsignal vänster kanal ansluts till Arduino med analog stift A4.

Steg 6: SLUTA

AVSLUTA
AVSLUTA
AVSLUTA
AVSLUTA
AVSLUTA
AVSLUTA
AVSLUTA
AVSLUTA

Denna bärbara spektrumanalysator kan anslutas direkt till en bärbar dator/ stationär dator, mobiltelefon, surfplatta eller andra musikspelare via 3,5 mm stereoljuduttag. Det här projektet verkar galet, jag hoppas att du gillar det!

Tack för din läsning !!!

Rekommenderad: