
Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:10


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.

- 1m x 8P Rainbow Ribbon -kabel.
- 1m x tvåkärnig strömkabel.
- 1st x Klar akryl, storlek A4.
Steg 2: 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:

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

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.

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

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

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

BOTTOM LoLSHIELD

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

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.

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

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

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

Ѽ. Gjort!

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:

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




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:
DIY FFT Audio Spectrum Analyzer: 3 steg

DIY FFT Audio Spectrum Analyzer: FFT -spektrumanalysator är en testutrustning som använder Fourier -analys och digital signalbehandlingsteknik för att tillhandahålla spektrumanalys. Med hjälp av Fourier -analys är det möjligt att ett värde i till exempel den kontinuerliga tidsdomänen konverteras
10 Band Led Spectrum Analyzer: 11 steg

10 Band Led Spectrum Analyzer: God eftermiddag, kära tittare och läsare. Idag vill jag visa dig den kompletta monteringsguiden för 10 -bands LED -spektrumanalysatorn
RGB 10 Band Led Spectrum Analyzer: 16 steg

RGB 10 Band Led Spectrum Analyzer: God eftermiddag, kära tittare och läsare. Idag kommer jag att visa dig en modifiering av en tio-bands spektrumanalysator med RGB-lysdioder
DIY Arduino Audio Signal Spectrum Analyzer: 3 steg

DIY Arduino Audio Signal Spectrum Analyzer: Detta är en mycket enkel ljudanalysator med utbytbara visuella lägen
RGB Matrix + Spectrum Analyzer: 10 steg (med bilder)

RGB Matrix + Spectrum Analyzer: Love LEDs? Jag också! Det är därför som jag i denna instruktionsfilm visar dig hur du gör en fantastisk RGB LED Matrix, som enkelt kan förvandlas till en Spectrum Analyzer med ett klick på en knapp. , om du tror att denna instruktör har förtjänat det, vänligen rösta