Ongeveer 71% van de aarde is bedekt met water, maar helaas is slechts 2,5% ervan drinkwater. Met een toename van de bevolking, vervuiling en klimaatverandering, wordt verwacht dat we tegen 2025 blijvende watertekorten zullen ervaren. Aan de ene kant zijn er al kleine geschillen tussen naties en staten over het delen van rivierwater, aan de andere kant verspillen wij als mensen veel drinkwater door onze nalatigheid.
Het lijkt de eerste keer misschien niet groot, maar als je kraan elke seconde een druppel water druppelt, zou het slechts ongeveer vijf uur duren voordat je een liter water hebt verspild, dat is genoeg water voor een gemiddeld mens om voor twee te overleven. dagen. Dus wat kan er worden gedaan om dit te stoppen? Zoals altijd ligt het antwoord hiervoor in verbetering van de technologie. Als we alle handmatige kranen vervangen door een slimme kraan die vanzelf open en dicht gaat, kunnen we niet alleen water besparen, maar ook gezonder leven omdat we de kraan niet met onze vuile handen hoeven te bedienen. Dus in dit project zullen we een automatische waterdispenser bouwen met Arduino en een magneetventiel die je automatisch water kan geven als er een glas in de buurt wordt geplaatst. Klinkt goed toch! Dus laten we er een bouwen…
Vereiste materialen
- Magneetventiel
- Arduino Uno (elke versie)
- HCSR04 - Ultrasone sensor
- IRF540 MOSFET
- 1k en 10k weerstand
- Breadboard
- Verbindingsdraden
Werkconcept
Het concept achter de automatische waterdispenser is heel eenvoudig. We zullen een HCSR04 ultrasone sensor gebruiken om te controleren of er een voorwerp is dat zodanig is dat het glas voor de dispenser is geplaatst. Een solenoïdeklep zal worden gebruikt om de waterstroom te regelen, wat betekent dat wanneer het wordt geactiveerd, het water eruit zal stromen en wanneer het spanningsloos is, zal het water worden gestopt. Dus we zullen een Arduino-programma schrijven dat altijd controleert of een object in de buurt van de kraan is geplaatst, zo ja, dan wordt de solenoïde ingeschakeld en wacht tot het object is verwijderd, zodra het object is verwijderd, wordt de solenoïde automatisch uitgeschakeld en wordt de solenoïde gesloten. levering van water. Lees hier meer over het gebruik van ultrasone sensoren met Arduino.
Schakelschema
Het complete schakelschema voor de op Arduino gebaseerde waterdispenser wordt hieronder weergegeven
Het magneetventiel dat in dit project wordt gebruikt, is een 12V-klep met een maximale stroomsterkte van 1,2A en een continue stroomsterkte van 700mA. Dat is wanneer de klep wordt ingeschakeld, hij verbruikt ongeveer 700 mA om de klep ingeschakeld te houden. Zoals we weten, is een Arduino een ontwikkelbord dat werkt met 5V en daarom hebben we een schakelend stuurcircuit nodig om de solenoïde aan en uit te zetten.
Het schakelapparaat dat in dit project wordt gebruikt, is de IRF540N N-Channel MOSFET. Het heeft de 3 pinnen Gate, Source en Drain van respectievelijk pin 1. Zoals getoond in het schakelschema wordt de positieve pool van de solenoïde gevoed met de Vin-pin van de Arduino. Omdat we een 12V-adapter zullen gebruiken om de Arduino van stroom te voorzien en dus zal de Vin-pin 12V uitvoeren die kan worden gebruikt om de Solenoid aan te sturen. De negatieve pool van de solenoïde is verbonden met de aarde via de bron- en afvoerpennen van de MOSFET. Dus de solenoïde krijgt alleen stroom als de MOSFET is ingeschakeld.
De poortpin van de MOSFET wordt gebruikt om deze aan of uit te zetten. Het blijft uit als de poortpin geaard is en gaat aan als er een poortspanning wordt aangelegd. Om de MOSFET uitgeschakeld te houden wanneer er geen spanning op de poortpin staat, wordt de poortpin naar aarde getrokken via een weerstand van 10k. De Arduino-pin 12 wordt gebruikt om de MOSFET in of uit te schakelen, dus de D12-pin is verbonden met de poortpin via een 1K-weerstand. Deze 1K-weerstand wordt gebruikt voor stroombeperkende doeleinden.
De ultrasone sensor wordt aangedreven door de + 5V en aardingspennen van de Arduino. De Echo- en Trigger- pin is verbonden met respectievelijk pin 8 en pin 9. We kunnen dan de Arduino programmeren om de ultrasone sensor te gebruiken om de afstand te meten en de MOSFET in te schakelen wanneer een object wordt gedetecteerd. Het hele circuit is eenvoudig en kan daarom gemakkelijk op een breadboard worden gebouwd. De mijne zag er hieronder ongeveer zo uit nadat ik de aansluitingen had gemaakt.
Programmeren van het Arduino-bord
Voor dit project moeten we een programma schrijven dat de HCSR-04 Ultrasone sensor gebruikt om de afstand van het object ervoor te meten. Als de afstand minder is dan 10 cm, moeten we de MOSFET aanzetten en anders moeten we de MOSFET uitschakelen. We zullen ook de ingebouwde LED gebruiken die is aangesloten op pin 13 en deze samen met de MOSFET schakelen, zodat we kunnen controleren of de MOSFET is in- of uitgeschakeld. Het volledige programma om hetzelfde te doen staat aan het einde van deze pagina. Hieronder heb ik het programma uitgelegd door het op te splitsen in kleine betekenisvolle fragmenten.
Het programma begint met de definitie van macro's. We hebben de trigger- en echopin voor de ultrasone sensor en de MOSFET-poortpin en LED als de I / O voor onze Arduino. We hebben dus gedefinieerd op welke pin deze worden aangesloten. In onze hardware hebben we de Echo en Trigger pin aangesloten op 8 en 9 e respectievelijk digitale pin. Vervolgens wordt de MOSFET-pin verbonden met pin 12 en is de ingebouwde LED standaard verbonden met pin 13. We definiëren hetzelfde met behulp van de volgende regels
#define trigger 9 #define echo 8 #define LED 13 #define MOSFET 12
Binnen de setup- functie geven we aan welke pinnen worden ingevoerd en welke worden uitgevoerd. In onze hardware is alleen de echopin van de ultrasone (VS) sensor de invoerpen en alle rust zijn uitvoerpennen. Dus we gebruiken de pinMode- functie van Arduino om hetzelfde te specificeren zoals hieronder getoond
pinMode (trigger, OUTPUT); pinMode (echo, INPUT); pinMode (LED, UITGANG); pinMode (MOSFET, OUTPUT);
Binnen de hoofdlusfunctie roepen we de functie op met de naam maat_afstand (). Deze functie gebruikt de US-sensor om de afstand van het object ervoor te meten en werkt de waarde bij naar de variabele ' afstand' . Om de afstand te meten met een US-sensor, moet de triggerpin eerst twee microseconden laag worden gehouden en vervolgens tien microseconden hoog worden gehouden en opnieuw twee microseconden laag worden gehouden. Dit zal een sonische explosie van ultrasone signalen de lucht in sturen die worden gereflecteerd door het object ervoor en de echopin zal de signalen oppikken die erdoor worden gereflecteerd. Vervolgens gebruiken we de tijd genomen waarde om de afstand van het object vóór de sensor te berekenen. Als je het wilt weten