Innholdsfortegnelse:

Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer: 8 Steps
Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer: 8 Steps

Video: Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer: 8 Steps

Video: Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer: 8 Steps
Video: Indoor Dancing Water Fountain DIY (PCB Electronics Project) 2024, November
Anonim
Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer
Dancing Fountain: Arduino With MSGEQ7 Spectrum Analyzer

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:

  1. Lysdioder er koblet til digitale PWM -pinner for å reagere på frekvensbåndene
  2. Lysdioder er koblet til digitale pinner for å reagere på frekvensbåndene
  3. Pumper er koblet til Arduino Mega gjennom motordrivere og reagerer på frekvensbåndene

Trinn 2: Teori

Teori
Teori
Teori
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

Prosedyrer
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

Driftsmåter: 1- LED som PWM digitale utganger
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

Image
Image
Driftsmåter: 3- pumper som digitale utganger
Driftsmåter: 3- pumper 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

Driftsmåter: 3- pumper som digitale utganger
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: