Inhoudsopgave:

Goedkope waterstroomsensor en omgevingsdisplay - Ajarnpa
Goedkope waterstroomsensor en omgevingsdisplay - Ajarnpa

Video: Goedkope waterstroomsensor en omgevingsdisplay - Ajarnpa

Video: Goedkope waterstroomsensor en omgevingsdisplay - Ajarnpa
Video: Zo boek je de goedkoopste vliegtickets - Z TODAY 2024, November
Anonim
Goedkope waterstroomsensor en omgevingsdisplay
Goedkope waterstroomsensor en omgevingsdisplay

Water is een kostbare hulpbron. Miljoenen mensen hebben geen toegang tot schoon drinkwater en elke dag sterven maar liefst 4000 kinderen aan met water besmette ziekten. Toch blijven we verspilling van onze middelen. Het overkoepelende doel van dit project is het motiveren van duurzamer watergebruiksgedrag en het vergroten van het bewustzijn over mondiale waterkwesties. Ik gebruik een piëzo-transducer, een aantal LED's en een arduino. Het apparaat is een ruw prototype van wat uiteindelijk een overtuigende technologie zal worden die duurzaam gedrag motiveert en het bewustzijn over watergebruik vergroot. Dit is een project van Stacey Kuznetsov en Eric Paulos van het Living Environments Lab, aan de Carnegie Mellon University Human Computer Interaction Institute. Geproduceerd doorStacey [email protected]://staceyk.orgEric [email protected]://www. paulos.net/Living Environments Labhttps://www.living-environments.netDe video hieronder illustreert een eerdere versie van dit project, waarbij een microfoon wordt gebruikt in plaats van een piëzo-element om de waterstroom te detecteren. U zult betere prestaties bereiken bij het gebruik van een piëzo-transducer, dus dit instructible beschrijft de piëzo-benadering. Speciale dank aan Briam Lim, Bryan Pendleton, Chris Harrison en Stuart Anderson voor hulp bij de ideeën en het ontwerp van dit project!

Stap 1: Verzamel materialen

Verzamel materialen
Verzamel materialen

Je hebt nodig: - Breadboard - Microcontroller (ik gebruikte een Arduino) - Mastic - Piezo Transducer (https://www.radioshack.com/product/index.jsp?productId=2062402) - Een paar LED's (ik gebruikte 2 gele, 2 rode, 2 groene)- Kaarshouder of container van vergelijkbare grootte- Draad- 1 Mohm (of andere grote waarde) weerstand- 4,7K Weerstanden (3)- 1K Weerstanden (1)- Lage-waardeweerstanden (voor de LED's)- Clipping Wires- Jumper Wires- Mastic- opamp (LM613)

Stap 2: Bouw het circuit

Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit

De schakeling bestaat uit een versterker om het signaal van de piëzo te verhogen en een spanningsdeler om de basisspanning te verhogen. Tussen de twee ingangen van de piëzo bevindt zich een hoogwaardige weerstand die als pull-down weerstand voor het signaal fungeert.

Stap 3: Test het circuit

Test het circuit
Test het circuit

Bevestig de piëzo aan het circuit en sluit de arduino aan. De spanningsdeler stelt de basisspanning in op 2,5 V, dus de basiswaarden voor het signaal moeten ongeveer 512 zijn op de Arduino analoge pin (halverwege tussen 0 en 1023). De mijne schommelt +/-30 rond 520. Mogelijk ziet u enige fluctuatie rond dit aantal.

Stap 4: Kalibreer uw sensor om trillingen te detecteren

Kalibreer uw sensor om trillingen te detecteren
Kalibreer uw sensor om trillingen te detecteren

Als de kraan open staat, zullen de trillingen van de buis ervoor zorgen dat de piëzo een fluctuerende stroom genereert. Aangezien de basisaflezing rond 520 afneemt, kunt u een amplitude rond dit aantal berekenen om trillingen te detecteren. Mijn drempel is ingesteld op 130, maar u kunt deze verhogen of verlagen, afhankelijk van de soorten trillingen die u wilt voelen en de gevoeligheid van uw specifieke piëzo-stuk. Om het signaal te testen, gebruikt u mastiek om piëzo op een plat oppervlak te bevestigen. Probeer op verschillende locaties en verschillende intensiteiten op het oppervlak te tikken of te krabben, kijk wat voor soort metingen je op de Arduino krijgt. Om ruis te verminderen, raad ik aan om een voortschrijdend gemiddelde van de invoer te berekenen. Dit is een ruwe manier om de golfamplitude te bepalen die valse positieven als gevolg van willekeurige statische stroom vermijdt. Meer geavanceerde methoden zoals FFT kunnen ook worden gebruikt.// Sample Codeint-sensor = 2; // Analoog inint val =0; // Huidige uitlezing voor analoge pinint avg; // Lopend gemiddelde van de golfamplitudeint MIDPOINT = 520; // Base readingvoid setup () { Serial.begin (9600); gemiddelde = MIDDENPUNT; // stel het gemiddelde in op het midden} void loop () {val = analogRead (sensor); // Bereken golfamplitude if (val > MIDPOINT) {val = val - MIDPOINT; } else { val = MIDDENPUNT - val; } // bereken het lopende gemiddelde van de amplitute avg = (avg * 0.5) + (val * 0.5); if (gem > 130) { // trillingen gedetecteerd! Serial.println("TAP"); vertraging (100); // vertraging om ervoor te zorgen dat de seriële poort niet overbelast is }}

Stap 5: Creëer een Ambient Display

Creëer een Ambient Display
Creëer een Ambient Display
Creëer een Ambient Display
Creëer een Ambient Display
Creëer een Ambient Display
Creëer een Ambient Display

Als uw sensor goed werkt, kunt u een omgevingsdisplay toevoegen om de informatie weer te geven. Mijn LED's zijn zodanig gekoppeld dat elke kleur wordt verlicht door twee LED's. Om dit te doen, bevestigt u de 'in' (korte) kabel van elke kleur aan elkaar en gebruikt u een weerstand van lage waarde voordat u verbinding maakt met de Arduino. Sluit de (langere) aardingsdraad van alle LED's aan en bevestig deze aan de grond op de Arduino. Zodra de LED's zijn aangesloten, gebruikt u de kandelaar om het display te huisvesten. Aangezien de kandelaar van aluminium is, kunt u een isolator, zoals een stuk plastic, op de bodem van de houder plaatsen voordat u de LED's plaatst om te voorkomen dat het circuit kortsluiting maakt.

Stap 6: Gebruik sensorgegevens om het display aan te sturen

Sensorgegevens gebruiken om het display aan te sturen
Sensorgegevens gebruiken om het display aan te sturen

Het kost me ongeveer 10 seconden om mijn handen te wassen. Daarom heb ik het display zo geprogrammeerd dat het de eerste 10 seconden groen licht geeft nadat de kraan is aangezet. Na 10 seconden gaan de gele LED's branden. Het display wordt rood als het water na 20 seconden blijft branden en begint het rode lampje te knipperen als de kraan 25 seconden of langer blijft draaien. Gebruik je fantasie om alternatieve displays te maken!

Stap 7: Monteer de sensor en het display op een waterleiding

Monteer de sensor en het display op een waterleiding
Monteer de sensor en het display op een waterleiding
Monteer de sensor en het display op een waterleiding
Monteer de sensor en het display op een waterleiding
Monteer de sensor en het display op een waterleiding
Monteer de sensor en het display op een waterleiding

Gebruik mastiek of klei om de piëzo aan de kraan te bevestigen en een andere laag mastiek om het display bovenop te bevestigen. Mogelijk moet u uw drempelamplitude of 'MIDPOINT' vanaf stap 4 aanpassen. Het signaal kan ook enigszins worden beïnvloed door de temperatuur van de pijp.

Stap 8: Toekomstige suggesties

Toekomstige suggesties
Toekomstige suggesties

U kunt ervoor kiezen om de Arduino van een batterij te laten rijden. Een aanstaande tutorial zal je laten zien hoe je dit scherm kunt gebruiken door stroom rechtstreeks uit het stromende water zelf te halen, of door gebruik te maken van omgevingslichtenergie!

Aanbevolen: