- Materiell som kreves
- Arbeid av en lydsensor
- Kretsskjema for lydsensor
- Musical Water Fountain Circuit Diagram
- Programmering Arduino Nano for Dancing Fountain
Det er flere vannfontener som ubetinget drysser vann med noen interessante lyseffekter. Så jeg vandret rundt med å designe en nyskapende vannfontene som kan svare på ekstern musikk og dryss vann avhengig av musikkslag. Høres det ikke interessant ut?
Den grunnleggende ideen til denne Arduino Water Fountain er å ta en inngang fra en hvilken som helst ekstern lydkilde som mobil, iPod, PC osv., Prøve lyden og bryte den ned til forskjellige spenningsområder, og deretter bruke utgangen til å slå på forskjellige Relay. Vi først brukt en kondensatormikrofon basert lyd sensormodul til å utføre på lydkilden for å splitte lydene til forskjellige spenningsområder. Deretter vil spenningen mates til op-amp for å sammenligne lydnivået med en bestemt grense. Det høyere spenningsområdet vil tilsvare en relébryter PÅ som består av en musikalsk vannfontene som fungerer i takt med rytmene til sangen. Så her bygger vi denne musikalske fontenen ved hjelp av Arduino og lydsensor.
Materiell som kreves
- Arduino Nano
- Lydsensormodul
- 12V relémodul
- DC-pumpe
- LED-lys
- Koble ledninger
- Vero-brett eller brødbrett
Arbeid av en lydsensor
Lydsensormodulen er et enkelt elektronmikrofonbasert elektronisk kort som brukes til å fornemme ekstern lyd fra omgivelsene. Den er basert på LM393 effektforsterker og en electret-mikrofon, den kan brukes til å oppdage om det er noen lyd utover den angitte terskelgrensen. Modulutgangen er et digitalt signal som indikerer at lyden er større eller mindre enn terskelen.
Potentiometeret kan brukes til å justere følsomheten til sensormodulen. Modulutgangen er HIGH / LOW når lydkilden er lavere / høyere enn terskelen satt av potensiometeret. Samme lydsensormodul kan også brukes til å måle lydnivået i desibel.
Kretsskjema for lydsensor
Som vi vet at i en lydsensormodul er den grunnleggende inngangsenheten mikrofonen som konverterer lydsignalene til elektriske signaler. Men siden lydsensorens elektriske signalutgang er så liten i størrelse som er veldig vanskelig å analysere, har vi brukt en NPN-transistorforsterkerkrets som vil forsterke den og mate utgangssignalet til den ikke-inverterende inngangen til Op- amp. Her brukes LM393 OPAMP som en komparator som sammenligner det elektriske signalet fra mikrofonen og referansesignalet som kommer fra spenningsdelerkretsen. Hvis inngangssignalet er større enn referansesignalet, vil utgangen til OPAMP være høy og omvendt.
Du kan følge seksjoner med Op-amp-kretser for å lære mer om hvordan den fungerer.
Musical Water Fountain Circuit Diagram
Som vist i det musikalske fontenekretsdiagrammet ovenfor, drives lydsensoren med 3,3 V forsyning av Arduino Nano, og utgangsstiften til lydsensormodulen er koblet til den analoge inngangspinnen (A6) til Nano. Du kan bruke hvilken som helst av den analoge pinnen, men sørg for å endre den i programmet. Relémodulen og DC-pumpen drives av en ekstern 12VDC strømforsyning som vist på figuren. Inngangssignalet til relémodulen er koblet til den digitale utgangspinnen D10 på Nano. For lyseffekt valgte jeg to forskjellige farger LED og koblet dem til to digitale utgangspinner (D12, D11) av Nano.
Her er pumpen koblet på en slik måte at når en HØY puls blir gitt til inngangen til relémodulen, blir COM-kontakten til reléet koblet til NO-kontakten og strømmen får en lukket kretsbane å strømme over pumpen til aktiver vannstrømmen. Ellers forblir pumpen AV. HIGH / LOW-pulser genereres fra Arduino Nano, avhengig av lydinngangen.
Etter å ha loddet hele kretsen på perfboard, vil det se ut som nedenfor:
Her brukte vi en plastboks som fontene container og mini 5v pumpe for å fungere som en fontene, vi brukte denne pumpen tidligere i brannslukkingsrobot:
Programmering Arduino Nano for Dancing Fountain
Hele programmet for dette Arduino-fontenen-prosjektet er gitt nederst på siden. Men her forklarer jeg bare det med deler for bedre forståelse:
Den første delen av programmet er å erklære de nødvendige variablene for å tildele pin-tall som vi skal bruke i de neste programblokkene. Definer deretter en konstant REF med en verdi som er referanseverdien for lydsensormodulen. Den tildelte verdien 700 er den byteekvivalente verdien av lydsensorens utgangssignal.
int sensor = A6; int redled = 12; int greenled = 11; int pumpe = 10; #definer REF 700
I tomrommet oppsett funksjon har vi benyttet pinMode for å tilordne inngangs / utgangs-data retning av pinnene. Her tas sensoren som INNGANG, og alle andre enheter brukes som UTGANG.
ugyldig oppsett () { pinMode (sensor, INPUT); pinMode (redled, OUTPUT); pinMode (grønn, OUTPUT); pinMode (pumpe, OUTPUT); }
Inne i uendelig løkke , analogRead er funksjon kalles hvilken avlesning den analoge inngangsverdi fra føleren tappen og lagrer den i en variabel sensor_value .
int sensor_value = analogRead (sensor);
I den siste delen brukes en if-else- løkke for å sammenligne det analoge inngangssignalet med referanseverdien. Hvis den er større enn referansen, får alle utgangspinnene HØY utgang, slik at alle lysdiodene og pumpen aktiveres, ellers forblir alt AV. Her har vi også gitt en forsinkelse på 70 millisekunder for å skille reléets PÅ / AV-tid.
hvis (sensor_value> REF) { digitalWrite (greenled, HIGH); digitalWrite (redled, HIGH); digitalWrite (pumpe, HØY); forsinkelse (70); } annet { digitalWrite (grønn, LAV); digitalWrite (redled, LOW); digitalWrite (pumpe, LAV); forsinkelse (70); }
Slik fungerer denne Arduino-kontrollerte vannfontenen, komplett kode med en fungerende video er gitt nedenfor.