Indholdsfortegnelse:
- Trin 1: Projektets mål
- Trin 2: Teori
- Trin 3: Procedurer
- Trin 4: Betjeningsformer: 1- LED'er som PWM digitale udgange
- Trin 5: Driftsformer: 2- LED'er som digitale udgange
- Trin 6: Driftsformer: 3- Pumper som digitale udgange
- Trin 7: Kontakter
Video: Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer: 8 Steps
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Modtagelsen af et lydsignal og konvertering til visuel eller mekanisk reaktion er meget interessant. I dette projekt skal vi bruge en Arduino Mega til at blive forbundet til en spektrumanalysator MSGEQ7, der tager input lydsignalet og udfører båndpasfiltrering på det for at opdele det i 7 hovedfrekvensbånd. Arduinoen analyserer derefter det analoge signal fra hvert frekvensbånd og opretter en handling.
Trin 1: Projektets mål
Dette projekt vil diskutere 3 driftsmåder:
- Lysdioder er forbundet til PWM digitale ben for at reagere på frekvensbåndene
- Lysdioder er forbundet til digitale ben for at reagere på frekvensbåndene
- Pumper er forbundet til Arduino Mega via motordrivere og reagerer på frekvensbåndene
Trin 2: Teori
Hvis vi taler om MSGEQ7 Spectrum Analyzer IC, kan vi sige, at den har interne 7 -bånds passfiltre, der opdeler input -lydsignalet i 7 hovedbånd: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz og 16 kHz.
Outputtet af hvert filter vælges til at være output fra IC ved hjælp af en multiplexer. Denne multiplexer har selektorer linjer styret af en intern binær tæller. Så vi kan sige, at tælleren skal tælle fra 0 til 6 (000 til 110 i binært) for at tillade et bånd at passere ad gangen. Det gør det klart, at koden for Arduino skal være i stand til at nulstille tælleren, når den når tællet 7.
Hvis vi kigger på kredsløbsdiagrammet for MSGEQ7, kan vi se, at vi bruger RC -frekvens tuner til at styre oscillatorens interne ur. så bruger vi filtrering af RC -elementer ved input -lydsignalporten.
Trin 3: Procedurer
Ifølge kildesiden (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) kan vi se, at kildekoden omhandler output som PWM-signaler, der er gentagne. vi kan ændre nogle af kodelinjerne, så de passer til vores mål.
Vi kan bemærke, at hvis vi har et stereostik, kan vi fordoble inputmodstanden og kondensatoren til den anden kanal. Vi driver MSGEQ7 fra Arduino VCC (5 volt) og GND. Vi forbinder MSGEQ7 til Arduino -kortet. Jeg foretrækker at bruge Arduino Mega, da den har PWM -pins, der passer til projektet. Udgangen fra MSGEQ7 IC er forbundet til analog pin A0, STROBE er forbundet til pin 2 på Arduino Mega og RESET er forbundet til pin 3.
Trin 4: Betjeningsformer: 1- LED'er som PWM digitale udgange
Ifølge kildekoden kan vi forbinde output -LED'erne til ben 4 til 10
const int LED_pins [7] = {4, 5, 6, 7, 8, 9, 10};
Så kan vi bemærke, at lysdioderne danser efter styrken af hvert frekvensbånd.
Trin 5: Driftsformer: 2- LED'er som digitale udgange
Vi kan tilslutte output -LED'erne til alle digitale stifter.
const int LED_pins [7] = {40, 42, 44, 46, 48, 50, 52};
Så kan vi bemærke, at lysdioderne blinker ved styrken af hvert frekvensbånd.
Trin 6: Driftsformer: 3- Pumper som digitale udgange
I denne sidste tilstand skal vi forbinde L298N -motordrivermodul til Arduino -udgangene. Dette gør det muligt for os at styre driften af pumpen baseret på output fra MSGEQ7 spektrumanalysatoren.
Som bekendt sætter motordriverne os i stand til at styre driften af de tilsluttede motorer eller pumper baseret på det genererede signal fra Arduino uden at sænke strøm fra Arduino, i stedet driver de motorerne direkte fra den tilsluttede strømkilde.
Hvis vi kører koden som rå kilde, fungerer pumperne muligvis ikke korrekt. Det skyldes, at PWM -signalet er lavt og ikke vil være egnet for motorføreren til at køre motorerne eller pumperne og levere en passende strøm. Derfor anbefaler jeg at øge PWM -værdien ved at multiplicere de analoge aflæsninger fra A0 med faktor større end 1,3. Dette hjælper kortlægningen med at være egnet til motorføreren. Jeg anbefaler 1,4 til 1,6. Vi kan også omlægge PWM til 50 til 255 for at være sikker på, at PWM -værdien vil være passende.
Vi kan forbinde lysdioderne sammen med udgangene til motordriverne, men lysdioderne blinker ikke på en god synlig måde som før, da PWM -værdierne er blevet øget. Så jeg foreslår at holde dem forbundet til de digitale ben 40 til 52.
Trin 7: Kontakter
Så dejligt at høre feedback fra dig. Tøv ikke med at deltage i mine kanaler på:
YouTube:
Instagram: @simplydigital010
Twitter: @simpelthen01Digital
Anbefalede:
Superstørrelse Acryllic Spectrum Analyzer: 7 trin (med billeder)
Superstørrelse Acryllic Spectrum Analyzer: Hvorfor vil du se på de små LED -skærme eller de små LCD'er, hvis du kan gøre det stort? Dette er en trinvis beskrivelse af, hvordan du bygger din egen gigantiske spektrumanalysator. Brug af akrylfliser og LED -strimler til at bygge et rumfyldningslys
DIY FFT Audio Spectrum Analyzer: 3 trin
DIY FFT Audio Spectrum Analyzer: FFT spektrumanalysator er et testudstyr, der bruger Fourier -analyse og digitale signalbehandlingsteknikker til at levere spektrumanalyse. Ved hjælp af Fourier -analyse er det muligt for en værdi i f.eks. Det kontinuerlige tidsdomæne at konvertere
10 Band Led Spectrum Analyzer: 11 trin
10 Band Led Spectrum Analyzer: God eftermiddag, kære seere og læsere. I dag vil jeg vise dig den komplette monteringsguide til 10 -bånds LED -spektrumanalysator
RGB 10 Band Led Spectrum Analyzer: 16 trin
RGB 10 Band Led Spectrum Analyzer: God eftermiddag, kære seere og læsere. I dag vil jeg vise dig en ændring af en ti-bånds spektrumanalysator med RGB-lysdioder
DIY Arduino Audio Signal Spectrum Analyzer: 3 trin
DIY Arduino Audio Signal Spectrum Analyzer: Dette er en meget enkel lydanalysator med ændrede visuelle tilstande