Omtrent 71% av jorden er dekket av vann, men dessverre er det bare 2,5% av det som er drikkevann. Med økning i befolkning, forurensning og klimaendringer, forventes det at vi innen 2025 vil oppleve flerårig vannmangel. På den ene siden er det allerede mindre tvister mellom nasjoner og stater for å dele elvevann, på den annen side sløser vi som mennesker mye drikkevann på grunn av vår uaktsomhet.
Det ser kanskje ikke stort ut første gang, men hvis kranen dryppet en dråpe vann en gang hvert sekund, ville det bare ta omtrent fem timer for deg å kaste bort en liter vann, det er nok vann til at et gjennomsnittlig menneske kan overleve i to dager. Så hva kan gjøres for å stoppe dette? Som alltid ligger svaret på forbedring i teknologi for dette. Hvis vi bytter ut alle manuelle kraner med en smart som automatisk åpnes og lukkes, kan vi ikke bare spare vann, men også ha en sunnere livsstil, siden vi ikke trenger å bruke kranen med de skitne hendene. Så i dette prosjektet vil vi bygge en automatisk vanndispenser ved hjelp av Arduino og en magnetventil som automatisk kan gi deg vann når et glass plasseres i nærheten av det. Høres kult ut! Så la oss bygge en…
Nødvendig materiale
- Magnetventil
- Arduino Uno (hvilken som helst versjon)
- HCSR04 - Ultralydssensor
- IRF540 MOSFET
- 1k og 10k motstand
- Brettbrett
- Koble ledninger
Arbeidskonsept
Konseptet bak den automatiske vanndispenseren er veldig enkelt. Vi vil bruke en HCSR04 ultralydssensor for å sjekke om noen gjenstand slik at glasset plasseres før dispenseren. En magnetventil vil bli brukt til å kontrollere vannstrømmen, det vil si når vannet vil strømme ut, og når vannet blir stanset. Så vi vil skrive et Arduino-program som alltid sjekker om noe objekt er plassert i nærheten av kranen. Hvis ja, vil solenoiden slås på og vente til objektet blir fjernet. Når objektet er fjernet, slås solenoiden av automatisk og lukker tilførsel av vann. Lær mer om bruk av ultralydssensor med Arduino her.
Kretsdiagram
Det komplette kretsskjemaet for Arduino-basert vanndispenser er vist nedenfor
Magnetventilen som brukes i dette prosjektet er en 12V ventil med en maksimal strømstyrke på 1,2A og en kontinuerlig strømstyrke på 700mA. Det er når ventilen er slått på, den vil forbruke omtrent 700 mA for å holde ventilen slått på. Som vi vet er en Arduino et utviklingsbrett som fungerer med 5V, og derfor trenger vi en bryterkrets for kretsen for å slå den på og av.
Bytteenheten som brukes i dette prosjektet er IRF540N N-Channel MOSFET. Den har henholdsvis 3 pinner Gate, Source og Drain fra pin 1. Som vist i kretsskjemaet får den positive terminalen til solenoiden strøm fra Vin-pinnen på Arduino. Fordi vi vil bruke en 12V adapter for å drive Arduino, og dermed vil Vin-pinnen sende ut 12V som kan brukes til å kontrollere solenoiden. Den negative terminalen til solenoiden er koblet til bakken gjennom MOSFETs kilde- og dreneringspinner. Så solenoiden får bare strøm hvis MOSFET er slått på.
Portpinnen til MOSFET brukes til å slå den av eller på. Den vil forbli av hvis portpinnen er jordet og vil slå seg på hvis det brukes en portspenning. For å holde MOSFET slått av når det ikke påføres spenning på portpinnen, trekkes portpinnen til bakken gjennom en 10k motstand. Arduino-pinnen 12 brukes til å slå MOSFET på eller av, slik at D12-pinnen er koblet til portpinnen gjennom en 1K-motstand. Denne 1K motstanden brukes til strømbegrensende formål.
Den Ultraljudssensor drives av + 5V og bakken pinner av Arduino. Den Echo og Trigger tapp er forbundet med stiften 8, og henholdsvis tappen 9. Vi kan deretter programmere Arduino til å bruke Ultralydssensoren til å måle avstanden og slå på MOSFET når et objekt oppdages. Hele kretsen er enkel og kan derfor lett bygges på toppen av et brødbrett. Mine så ut som dette nedenfor etter å ha gjort forbindelsene.
Programmering av Arduino Board
For dette prosjektet må vi skrive et program som bruker HCSR-04 ultralydsensor for å måle avstanden til objektet foran den. Når avstanden er mindre enn 10 cm, må vi slå på MOSFET, og ellers må vi slå av MOSFET. Vi vil også bruke den innebygde LED-en som er koblet til pin 13 og slå den sammen med MOSFET, slik at vi kan sikre om MOSFET er i på- eller av-tilstand. Det komplette programmet for å gjøre det samme er gitt på slutten av denne siden. Rett nedenfor har jeg forklart programmet ved å dele det opp i små meningsfulle utdrag.
Programmet starter med makrodefinisjon. Vi har avtrekkeren og ekkopinnen for Ultralydssensoren og MOSFET-portpinnen og LED som I / U for Arduino. Så vi har definert hvilken pin disse skal kobles til. I vår maskinvaren har vi koblet Echo og Trigger pin til 8 og 9 th digital pin hhv. Deretter er MOSFET-pinnen koblet til pinne 12, og den innebygde LED-en er som standard koblet til pinne 13. Vi definerer det samme ved hjelp av følgende linjer
#define trigger 9 #define echo 8 #define LED 13 #define MOSFET 12
Inne i oppsettfunksjonen erklærer vi hvilke pinner som er inngang og hvilke som sendes ut. I maskinvaren vår er bare ekko- pinnen til Ultrasonic (US) -sensoren inngangspinnen, og resten er alle utgangspinnene. Så vi bruker pinMode- funksjonen til Arduino for å spesifisere det samme som vist nedenfor
pinMode (trigger, OUTPUT); pinMode (ekko, INNGANG); pinMode (LED, OUTPUT); pinMode (MOSFET, OUTPUT);
Inne i hovedsløyfefunksjonen kaller vi for funksjonen kalt måleavstand (). Denne funksjonen bruker den amerikanske sensoren til å måle avstanden til objektet foran den og oppdaterer verdien til variabelen ' avstand' . For å måle avstand ved hjelp av amerikansk sensor, må utløseren først holdes lav i to mikrosekunder og deretter holdes høy i ti mikrosekunder og igjen holdes lav i to mikrosekunder. Dette vil sende en sonisk eksplosjon av ultralydsignaler i luften som vil reflekteres av objektet foran den, og ekkopinnen henter signalene som reflekteres av den. Deretter bruker vi den tid det tar å beregne avstanden til objektet foran sensoren. Hvis du vil vite det