Aproximativ 71% din pământ este acoperit cu apă, dar, din păcate, doar 2,5% din acesta este apă potabilă. Odată cu creșterea populației, poluarea și schimbările climatice, este de așteptat ca până în 2025 să experimentăm lipsuri permanente de apă. Pe de o parte, există deja dispute minore între națiuni și state pentru împărțirea apei râurilor, pe de altă parte, noi, ca oameni, risipim multă apă potabilă din cauza neglijenței noastre.
S-ar putea să nu pară mare la prima dată, dar dacă robinetul tău picură o picătură de apă o dată pe secundă, ar dura doar aproximativ cinci ore pentru a pierde un galon de apă, adică suficientă apă pentru ca un om mediu să supraviețuiască timp de doi zile. Deci, ce se poate face pentru a opri acest lucru? Ca întotdeauna, răspunsul este pentru îmbunătățirea tehnologiei. Dacă înlocuim toate robinetele manuale cu unul inteligent care se deschide și se închide automat de la sine nu numai că putem economisi apă, dar avem și un stil de viață mai sănătos, deoarece nu trebuie să acționăm robinetul cu mâinile noastre murdare. Deci, în acest proiect vom construi un distribuitor automat de apă folosind Arduino și o electrovalvă care vă poate oferi automat apă atunci când un pahar este plasat lângă acesta. Sună bine! Deci, să construim unul…
Materiale necesare
- Valva selenoida
- Arduino Uno (orice versiune)
- HCSR04 - Senzor cu ultrasunete
- MOSFET IRF540
- Rezistor 1k și 10k
- Breadboard
- Conectarea firelor
Conceptul de lucru
Conceptul din spatele distribuitorului automat de apă este foarte simplu. Vom folosi un senzor cu ultrasunete HCSR04 pentru a verifica dacă există vreun obiect astfel încât sticla să fie plasată înaintea dozatorului. O electrovalvă va fi utilizată pentru a controla fluxul de apă, care este atunci când este alimentată, apa va curge și când va fi dezactivată, apa va fi oprită. Deci, vom scrie un program Arduino care verifică întotdeauna dacă vreun obiect este plasat lângă robinet, dacă da, atunci solenoidul va fi pornit și așteptăm până când obiectul este îndepărtat, odată ce obiectul este îndepărtat, solenoidul se va opri automat, închizând astfel aprovizionarea cu apă. Aflați mai multe despre utilizarea senzorului ultrasonic cu Arduino aici.
Diagrama circuitului
Schema completă a circuitului pentru distribuitorul de apă pe bază de Arduino este prezentată mai jos
Supapa electromagnetică utilizată în acest proiect este o supapă de 12V cu un curent nominal maxim de 1,2A și un curent continuu de 700mA. Atunci când supapa este pornită, aceasta va consuma aproximativ 700mA pentru a menține supapa pornită. După cum știm, un Arduino este o placă de dezvoltare care funcționează cu 5V și, prin urmare, avem nevoie de un circuit driver de comutare pentru ca solenoidul să îl pornească și să îl oprească.
Dispozitivul de comutare utilizat în acest proiect este IRF540N M-Channel MOSFET. Are cele 3 pini Gate, Source și Drain de la pinul 1 respectiv. Așa cum se arată în schema de circuite, borna pozitivă a solenoidului este alimentată cu pinul Vin al Arduino. Deoarece vom folosi un adaptor de 12V pentru a alimenta Arduino și astfel pinul Vin va produce 12V care poate fi utilizat pentru a controla solenoidul. Terminalul negativ al solenoidului este conectat la sol prin pinii de sursă și de scurgere ai MOSFET. Deci solenoidul va fi alimentat numai dacă MOSFET-ul este pornit.
Știftul de poartă al MOSFET-ului este utilizat pentru a-l porni sau opri. Va rămâne oprit dacă știftul porții este împământat și se va porni dacă este aplicată o tensiune a porții. Pentru a menține MOSFET-ul oprit atunci când nu se aplică tensiune pinului de poartă, pinul de poartă este tras la masă printr-un rezistor de 10k. Pinul Arduino 12 este utilizat pentru a porni sau opri MOSFET-ul, astfel încât pinul D12 este conectat la pinul de poartă printr-un rezistor de 1K. Acest rezistor de 1K este utilizat pentru limitarea curentului.
Senzorul ultrasonic este alimentat de + 5V și pinii de la sol ale Arduino. Echo și Trigger PIN - ul este conectat la pinul 8 și PIN - ul respectiv 9. Putem apoi programa Arduino pentru a utiliza senzorul cu ultrasunete pentru a măsura distanța și a porni MOSFET-ul atunci când un obiect este detectat. Întregul circuit este simplu și, prin urmare, poate fi construit cu ușurință deasupra unei plăci. Al meu arăta cam așa mai jos după ce a făcut conexiunile.
Programarea plăcii Arduino
Pentru acest proiect trebuie să scriem un program care utilizează senzorul cu ultrasunete HCSR-04 pentru a măsura distanța obiectului din fața acestuia. Când distanța este mai mică de 10cm, trebuie să pornim MOSFET-ul și altfel trebuie să oprim MOSFET-ul. De asemenea, vom folosi LED-ul de pe bord conectat la pinul 13 și îl vom comuta împreună cu MOSFET, astfel încât să ne putem asigura dacă MOSFET-ul este pornit sau oprit. Programul complet pentru a face același lucru este dat la sfârșitul acestei pagini. Chiar mai jos am explicat programul împărțindu-l în mici fragmente semnificative.
Programul începe cu definirea macrocomenzilor. Avem declanșatorul și pinul de ecou pentru senzorul cu ultrasunete și pinul de poartă MOSFET și LED-ul ca I / O pentru Arduino. Deci, am definit la ce pin vor fi conectate acestea. În hardware - ul nostru, am conectat PIN - ul Echo și de declanșare până la 8 și 9 - lea PIN - ul digital, respectiv. Apoi pinul MOSFET este conectat la pinul 12 și LED-ul integrat implicit este conectat la pinul 13. Definim același lucru folosind următoarele linii
#define trigger 9 #define echo 8 #define LED 13 #define MOSFET 12
În cadrul funcției de configurare declarăm ce pini sunt de intrare și care sunt de ieșire. În hardware-ul nostru, numai pinul Echo al senzorului cu ultrasunete (SUA) este pinul de intrare și restul sunt pinii de ieșire. Deci, folosim funcția pinMode a Arduino pentru a specifica același lucru așa cum se arată mai jos
pinMode (trigger, OUTPUT); pinMode (ecou, INPUT); pinMode (LED, OUTPUT); pinMode (MOSFET, OUTPUT);
În interiorul funcției de buclă principală apelăm la funcția numită măsurare_distanță (). Această funcție utilizează senzorul SUA pentru a măsura distanța obiectului din fața acestuia și actualizează valoarea la variabila „ distanță” . Pentru a măsura distanța utilizând senzorul SUA, pinul de declanșare trebuie mai întâi menținut scăzut timp de două micro secunde și apoi ținut sus timp de zece microsecunde și din nou menținut scăzut timp de două micro secunde. Acest lucru va trimite o explozie sonoră de semnale ultrasonice în aer, care va fi reflectată de obiectul din fața sa, iar știftul de ecou va prelua semnalele reflectate de acesta. Apoi folosim valoarea timpului necesar pentru a calcula distanța obiectului în fața senzorului. Dacă vrei să știi