Innholdsfortegnelse:
- Trinn 1: Målene for prosjektet
- Trinn 2: Teori
- Trinn 3: Prosedyrer
- Trinn 4: Driftsmåter: 1- LED som PWM digitale utganger
- Trinn 5: Driftsmåter: 2 LED-er som digitale utganger
- Trinn 6: Driftsmåter: 3- pumper som digitale utganger
- Trinn 7: Kontakter
Video: Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer: 8 Steps
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Mottakelsen av et lydsignal og konvertering til visuell eller mekanisk reaksjon er veldig interessant. I dette prosjektet skal vi bruke en Arduino Mega for å bli koblet til en spektrumanalysator MSGEQ7 som tar inngangssignalet og utfører båndpassfiltrering på det for å dele det i 7 hovedfrekvensbånd. Arduino vil deretter analysere det analoge signalet til hvert frekvensbånd og skape en handling.
Trinn 1: Målene for prosjektet
Dette prosjektet vil diskutere tre driftsmåter:
- Lysdioder er koblet til digitale PWM -pinner for å reagere på frekvensbåndene
- Lysdioder er koblet til digitale pinner for å reagere på frekvensbåndene
- Pumper er koblet til Arduino Mega gjennom motordrivere og reagerer på frekvensbåndene
Trinn 2: Teori
Hvis vi snakker om MSGEQ7 Spectrum Analyzer IC, kan vi si at den har interne 7 -båndspassfiltre som deler inngangssignalet i 7 hovedbånd: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz og 16 kHz.
Utgangen til hvert filter velges til å være utgangen til IC ved bruk av en multiplexer. Den multiplexeren har selektorer linjer styrt av en intern binær teller. Så vi kan si at telleren skal telle fra 0 til 6 (000 til 110 i binær) for å la et bånd passere om gangen. Det gjør det klart at koden til Arduino skal være i stand til å tilbakestille telleren når den når tellingen 7.
Hvis vi ser på kretsdiagrammet til MSGEQ7, kan vi se at vi bruker RC -frekvensmottaker til å kontrollere oscillatorens interne klokke. så bruker vi filtrering av RC -elementer ved inngangssignalporten.
Trinn 3: Prosedyrer
I følge kildesiden (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) kan vi se at kildekoden omhandler utgangene som PWM-signaler som er repeterende. vi kan endre noen av kodelinjene for å passe våre mål.
Vi kan legge merke til at hvis vi har en stereokontakt, kan vi doble inngangsmotstanden og kondensatoren til den andre kanalen. Vi driver MSGEQ7 fra Arduino VCC (5 volt) og GND. Vi skal koble MSGEQ7 til Arduino -kortet. Jeg foretrekker å bruke Arduino Mega siden den har PWM -pinner som passer for prosjektet. Utgangen fra MSGEQ7 IC er koblet til analog pin A0, STROBE er koblet til pin 2 på Arduino Mega og RESET er koblet til pin 3.
Trinn 4: Driftsmåter: 1- LED som PWM digitale utganger
I følge kildekoden kan vi koble utgangs -LED -ene til pinner 4 til 10
const int LED_pins [7] = {4, 5, 6, 7, 8, 9, 10};
Så kan vi legge merke til at lysdiodene danser på styrken til hvert frekvensbånd.
Trinn 5: Driftsmåter: 2 LED-er som digitale utganger
Vi kan koble utgangs -LEDene til alle digitale pinner.
const int LED_pins [7] = {40, 42, 44, 46, 48, 50, 52};
Så kan vi legge merke til at lysdiodene blinker på styrken til hvert frekvensbånd.
Trinn 6: Driftsmåter: 3- pumper som digitale utganger
I denne siste modusen skal vi koble L298N -motordrivermodulen til utgangene til Arduino. Dette gjør det mulig for oss å kontrollere driften av pumpen basert på effekten fra MSGEQ7 -spektrumanalysatoren.
Som kjent lar motordriverne oss kontrollere driften av de tilkoblede motorene eller pumpene basert på det genererte signalet fra Arduino uten å synke noen strøm fra Arduino, i stedet driver de motorene direkte fra den tilkoblede strømkilden.
Hvis vi kjører koden som rå kilde, er det ikke sikkert at pumpene fungerer som de skal. Det er fordi PWM -signalet er lavt og ikke vil være egnet for motorføreren til å kjøre motorene eller pumpene og levere en passende strøm. Derfor anbefaler jeg å øke PWM -verdien ved å multiplisere de analoge avlesningene fra A0 med faktor større enn 1,3. Dette hjelper kartleggingen til å være egnet for motorføreren. Jeg anbefaler 1,4 til 1,6. Vi kan også omforme PWM til 50 til 255 for å være sikker på at PWM -verdien vil være passende.
Vi kan koble lysdiodene sammen med utgangene for motorførerne, men lysdiodene vil ikke blinke på en god synlig måte som før ettersom PWM -verdiene er økt. Så jeg foreslår at du holder dem koblet til de digitale pinnene 40 til 52.
Trinn 7: Kontakter
Så hyggelig å høre tilbakemeldinger fra deg. Ikke nøl med å bli med i kanalene mine på:
YouTube:
Instagram: @simplydigital010
Twitter: @simply01Digital
Anbefalt:
Superstørrelse Acryllic Spectrum Analyzer: 7 trinn (med bilder)
Superstørrelse Acryllic Spectrum Analyzer: Hvorfor vil du se på de små LED -skjermene eller de små LCD -skjermene hvis du kan gjøre det stort? Dette er en trinnvis beskrivelse av hvordan du bygger din egen Giant sized Spectrum analysator.Bruker akrylfliser og ledede strimler for å bygge et rom som fyller lys
DIY FFT Audio Spectrum Analyzer: 3 trinn
DIY FFT Audio Spectrum Analyzer: FFT spektrumanalysator er et testutstyr som bruker Fourier -analyse og digital signalbehandlingsteknikk for å gi spektrumanalyse. Ved å bruke Fourier -analyse er det mulig for en verdi i for eksempel det kontinuerlige tidsdomenet å konvertere
10 Band Led Spectrum Analyzer: 11 trinn
10 Band Led Spectrum Analyzer: God ettermiddag, kjære seere og lesere. I dag vil jeg vise deg den komplette monteringsguiden for 10 -bånds LED -spektrumanalysator
RGB 10 Band Led Spectrum Analyzer: 16 trinn
RGB 10 Band Led Spectrum Analyzer: God ettermiddag, kjære seere og lesere. I dag vil jeg vise deg en modifikasjon av en ti-bånds spektrumanalysator med RGB-lysdioder
DIY Arduino Audio Signal Spectrum Analyzer: 3 trinn
DIY Arduino Audio Signal Spectrum Analyzer: Dette er en veldig enkel lydanalysator med visuelle moduser som kan endres