Ca. 71% af jorden er dækket af vand, men desværre er det kun 2,5%, der drikker vand. Med stigning i befolkning, forurening og klimaændringer forventes det, at vi inden 2025 vil opleve flerårig vandmangel. På den ene side er der allerede mindre tvister mellem nationer og stater for at dele flodvand på den anden side spilder vi som mennesker meget drikkevand på grund af vores uagtsomhed.
Det ser muligvis ikke stort ud første gang, men hvis din vandhane dryppede en dråbe vand en gang hvert sekund, ville det kun tage cirka fem timer for dig at spilde en liter vand, det er nok vand til, at et gennemsnitligt menneske kan overleve i to dage. Så hvad kan man gøre for at stoppe dette? Som altid ligger svaret på forbedring af teknologien for dette. Hvis vi udskifter alle de manuelle vandhaner med en smart, der automatisk åbner og lukker, kan vi ikke kun spare vand, men også have en sundere livsstil, da vi ikke behøver at betjene vandhanen med vores beskidte hænder. Så i dette projekt vil vi bygge en automatisk vanddispenser ved hjælp af Arduino og en magnetventil, der automatisk kan give dig vand, når et glas placeres i nærheden af det. Lyder fedt lige! Så lad os bygge en…
Nødvendige materialer
- Magnetventil
- Arduino Uno (enhver version)
- HCSR04 - Ultralydssensor
- IRF540 MOSFET
- 1k og 10k modstand
- Brødbræt
- Tilslutning af ledninger
Arbejdskoncept
Konceptet bag den automatiske vanddispenser er meget simpelt. Vi bruger en HCSR04 ultralydssensor til at kontrollere, om en sådan genstand, at glasset placeres før dispenseren. En magnetventil vil blive brugt til at kontrollere strømmen af vand, det er når strømmen til vandet vil strømme ud, og når den er strømløs, stoppes vandet. Så vi skriver et Arduino-program, som altid kontrollerer, om der er noget objekt i nærheden af hanen, hvis ja, tændes solenoiden og venter, indtil objektet er fjernet, når objektet er fjernet, slukker solenoiden automatisk og lukker således vandforsyning. Lær mere om brug af ultralydssensor med Arduino her.
Kredsløbsdiagram
Det komplette kredsløbsdiagram for Arduino-baseret vanddispenser er vist nedenfor
Magnetventilen, der anvendes i dette projekt, er en 12V-ventil med en maksimal strømværdi på 1,2A og en kontinuerlig strømværdi på 700mA. Det er når ventilen er tændt, den vil forbruge ca. 700 mA for at holde ventilen tændt. Som vi ved, er en Arduino et udviklingskort, der fungerer med 5V, og derfor har vi brug for et skiftedriverkredsløb til Solenoid for at tænde og slukke.
Omskifterenheden, der anvendes i dette projekt, er IRF540N N-Channel MOSFET. Det har henholdsvis de 3 ben Gate, Source og Drain fra pin 1. Som vist i kredsløbsdiagrammet er den positive terminal på solenoiden forsynet med Vin-stiften på Arduino. Fordi vi bruger en 12V-adapter til at drive Arduino, og Vin-stiften udsender således 12V, som kan bruges til at kontrollere solenoiden. Den negative terminal på solenoiden er forbundet til jorden gennem MOSFETs kilde- og afløbsstifter. Så solenoiden får kun strøm, hvis MOSFET er tændt.
Portstiften på MOSFET bruges til at tænde eller slukke for den. Den forbliver slukket, hvis gate-stiften er jordforbundet og tænder, hvis der anvendes en gate-spænding. For at holde MOSFET slukket, når der ikke tilføres spænding til gate pin, trækkes gate pin til jorden gennem en 10k modstand. Arduino-stiften 12 bruges til at tænde eller slukke for MOSFET, så D12-stiften er forbundet til portstiften gennem en 1K-modstand. Denne 1K modstand bruges til strømbegrænsende formål.
Den Ultralydssensoren er drevet af +5 V og jorden stifter af Arduino. The Echo og Trigger pin er forbundet til stiften 8 og stift 9 hhv. Vi kan derefter programmere Arduino til at bruge ultralydssensoren til at måle afstanden og tænde MOSFET, når et objekt registreres. Hele kredsløbet er simpelt og kan derfor let bygges oven på et brødbræt. Mine så ud som dette nedenfor efter at have oprettet forbindelserne.
Programmering af Arduino Board
Til dette projekt er vi nødt til at skrive et program, der bruger HCSR-04 Ultralydssensor til at måle afstanden af objektet foran det. Når afstanden er mindre end 10 cm, skal vi tænde MOSFET, og ellers skal vi slukke for MOSFET. Vi bruger også den indbyggede LED, der er tilsluttet pin 13, og skifter den sammen med MOSFET, så vi kan sikre, om MOSFET er i tændt eller slukket tilstand. Det komplette program til at gøre det samme findes i slutningen af denne side. Lige nedenfor har jeg forklaret programmet ved at opdele det i små meningsfulde uddrag.
Programmet starter med en definition af makroer. Vi har udløseren og ekko- stiften til Ultralydssensoren og MOSFET-gate-stiften og LED som I / O til vores Arduino. Så vi har defineret til hvilken pin disse skal forbindes til. I vores hardware har vi tilsluttet Echo og Trigger pin til 8 og 9 th digital pin hhv. Derefter er MOSFET-stiften forbundet til pin 12, og den indbyggede LED er som standard forbundet til pin 13. Vi definerer det samme ved hjælp af følgende linjer
#define trigger 9 #define echo 8 #define LED 13 #define MOSFET 12
Inde i opsætningsfunktionen erklærer vi , hvilke ben der er input og hvilke der udgives. I vores hardware er kun Echo- stiften i Ultrasonic (US) -sensoren indgangsstiften, og resten er alle outputstifter. Så vi bruger pinMode- funktionen i Arduino til at specificere det samme som vist nedenfor
pinMode (trigger, OUTPUT); pinMode (ekko, INPUT); pinMode (LED, OUTPUT); pinMode (MOSFET, OUTPUT);
Inde i hovedsløjfefunktionen kalder vi på funktionen kaldet måleafstand (). Denne funktion bruger den amerikanske sensor til at måle afstanden på objektet foran den og opdaterer værdien til variablen ' afstand' . For at måle afstand ved hjælp af amerikansk sensor skal udløsertappen først holdes lav i to mikrosekunder og derefter holdes høj i ti mikrosekunder og igen holdes lav i to mikrosekunder. Dette vil sende en sonisk eksplosion af ultralydssignaler i luften, som reflekteres af objektet foran den, og ekko- stiften opfanger de signaler, der reflekteres af den. Derefter bruger vi den tid, der er taget til at beregne afstanden for objektet foran sensoren. Hvis du vil vide det