Lavprisvannstrømssensor og omgivelsesdisplay: 8 trinn (med bilder)
Lavprisvannstrømssensor og omgivelsesdisplay: 8 trinn (med bilder)

Video: Lavprisvannstrømssensor og omgivelsesdisplay: 8 trinn (med bilder)

Video: Lavprisvannstrømssensor og omgivelsesdisplay: 8 trinn (med bilder)
Video: Голубая стрела (1958) фильм 2025, Januar
Anonim

Vann er en verdifull ressurs. Millioner av mennesker har ikke tilgang til rent drikkevann, og så mange som 4000 barn dør av vannforurensede sykdommer hver dag. Likevel fortsetter vi å være sløsing med ressursene våre. Det overordnede målet med dette prosjektet er å motivere til mer bærekraftig bruk av vannbruk og øke bevisstheten om globale vannproblemer. Dette er en instruks om hvordan man på en grov måte kan oppdage vannføring i et rør og drive en omgivelsesvisning. Jeg bruker en piezotransduser, noen lysdioder og en arduino. Enheten er en grov prototype av det som til slutt vil bli en overbevisende teknologi som motiverer bærekraftig oppførsel og øker bevisstheten om vannbruk. Dette er et prosjekt av Stacey Kuznetsov og Eric Paulos ved Living Environments Lab, ved Carnegie Mellon University Human Computer Interaction Institute. Produsert avStacey [email protected]://staceyk.orgEric [email protected]:// www. paulos.net/Living Environments Labhttps://www.living-environments.net Videoen nedenfor illustrerer en tidligere versjon av dette prosjektet, der en mikrofon brukes i stedet for et piezo-element for å oppdage vannføring. Du vil oppnå bedre ytelse når du bruker en piezo -transduser, så denne instruksen beskriver piezo -tilnærmingen. Spesiell takk til Briam Lim, Bryan Pendleton, Chris Harrison og Stuart Anderson for hjelp med ideer og design av dette prosjektet!

Trinn 1: Samle materialer

Du trenger:- Brødbrett- Mikrokontroller (jeg brukte en Arduino)- Mastikk- Piezo-transduser (https://www.radioshack.com/product/index.jsp?productId=2062402)- Noen få lysdioder (jeg brukte 2 gule, 2 røde, 2 grønne)- Lysestake eller beholder av lignende størrelse- Wire- 1 Mohm (eller annen stor verdi) motstand- 4,7K motstander (3)- 1K motstander (1)- Motstander med lav verdi (for lysdioder)- Clipping Wires- Jumper Wires- Mastic- op amp (LM613)

Trinn 2: Bygg kretsen

Kretsen består av en forsterker for å øke signalet fra piezoen og en spenningsdeler for å løfte basisspenningen. Det er en høyverdig motstand mellom de to inngangene som danner piezoen, som fungerer som en nedtrekksmotstand for signalet.

Trinn 3: Test kretsen

Fest piezo til kretsen, og koble til arduinoen. Spenningsdeleren setter basisspenningen til 2,5V, så basisavlesningene for signalet bør være rundt 512 på den analoge Arduino -pinnen (halvveis mellom 0 og 1023). Gruven svinger +/- 30 rundt 520. Du kan se noen svingninger rundt dette tallet.

Trinn 4: Kalibrer sensoren din for å oppdage vibrasjoner

Når kranen skrus på, vil vibrasjonene i røret føre til at piezoen genererer en svingende strøm. Siden basisavlesningen avtar rundt 520, kan du beregne en amplitude rundt dette tallet for å oppdage vibrasjoner. Terskelen min er satt til 130, men du kan øke eller redusere dette avhengig av vibrasjonstypene du vil føle og følsomheten til ditt spesielle piezostykke. For å teste signalet, bruk mastikk for å feste piezo til en flat overflate. Prøv å trykke eller skrape på overflaten på forskjellige steder og med forskjellige intensiteter, se hvilken type avlesninger du får på Arduino. For å redusere støy anbefaler jeg å beregne et glidende gjennomsnitt av inngangen. Dette er en rå måte å bestemme bølgeamplitude på som unngår falske positiver på grunn av tilfeldig statisk strøm. Mer avanserte metoder som FFT kan også brukes.// Sample Codeint sensor = 2; // Analog inint val = 0; // Gjeldende avlesning for analog pinint avg; // Rennende gjennomsnitt av bølgeamplituden MIDPOINT = 520; // Oppsett av grunnleservolum () {Serial.begin (9600); gjennomsnitt = MELLOMPUNKT; // sett gjennomsnittet på midtpunktet} void loop () {val = analogRead (sensor); // Beregn bølge amplittue hvis (val> MIDPOINT) {val = val - MIDPOINT; } annet {val = MIDLER - val; } // beregne løpende gjennomsnitt fra amplituden avg = (gjennomsnitt * 0,5) + (val * 0,5); hvis (gjennomsnitt> 130) {// vibrasjon oppdaget! Serial.println ("TAP"); forsinkelse (100); // forsinkelse for å sikre at seriell port ikke er overbelastet}}

Trinn 5: Lag en Ambient Display

Hvis sensoren din fungerer som den skal, kan du legge til en omgivende skjerm for å vise informasjonen. Mine lysdioder er paret slik at hver farge lyser med to lysdioder. For å gjøre dette, fest 'in' (kort) ledningen til hver farge sammen, og bruk en motstand med lav verdi før du kobler til Arduino. Koble bakken (lengre) ledningen til alle lysdiodene og fest den til bakken på Arduino. Når lysdiodene er tilkoblet, bruker du lysestaken til å huse skjermen. Siden lysestaken er laget av aluminium, kan det være lurt å legge en isolator, for eksempel et stykke plast, på bunnen av beholderen før du setter inn lysdiodene for å forhindre at kretsen kortsluttes.

Trinn 6: Bruk sensordata til å drive skjermen

Det tar omtrent 10 sekunder å vaske hendene. Dermed har jeg programmert displayet til å vise grønt lys de første 10 sekundene etter at kranen er slått på. Etter 10 sekunder tennes den gule LED -en. Displayet blir rødt hvis vannet forblir på etter 20 sekunder, og begynner å blinke det røde lyset hvis kranen forblir i gang i 25 sekunder eller mer. Bruk fantasien din til å lage alternative skjermer!

Trinn 7: Monter sensoren og skjermen på et vannrør

Bruk mastikk eller leire for å feste piezoen til kranen, og et annet lag med mastikk for å sikre displayet på toppen. Du må kanskje justere terskelamplituden eller 'MIDPOINT' fra trinn 4. Signalet kan også påvirkes litt av temperaturen av røret.

Trinn 8: Fremtidige forslag

Du kan velge å drive Arduino av et batteri. En kommende opplæring vil vise deg hvordan du kjører denne skjermen ved å trekke strøm direkte fra selve rennende vann, eller ved å utnytte omgivende lysenergi!