Približno 71% zemlje je pokrito z vodo, žal pa je le 2,5% pitne vode. Z naraščanjem števila prebivalstva, onesnaževanjem in podnebnimi spremembami pričakujemo, da bomo že leta 2025 imeli večletno pomanjkanje vode. Na eni strani že obstajajo manjši spori med državami in državami zaradi delitve rečne vode, na drugi strani pa ljudje kot ljudje zaradi svoje malomarnosti zapravimo veliko pitne vode.
Sprva se morda ne bo zdel velik, toda če bi iz vaše pipe enkrat na sekundo kapljala kapljico vode, bi trajalo le približno pet ur, da bi zapravili eno galono vode, to je dovolj vode, da povprečen človek preživi dva dnevi. Torej, kaj je mogoče storiti, da se to ustavi? Kot vedno je tudi to odgovor na izboljšanje tehnologije. Če vse ročne pipe zamenjamo s pametnimi, ki se samodejno odpirajo in zapirajo, ne samo, da lahko varčujemo z vodo, temveč tudi bolj zdravo, saj nam ni treba upravljati pipe z umazanimi rokami. Tako bomo v tem projektu zgradili samodejni razdeljevalnik vode z uporabo Arduina in magnetni ventil, ki vam lahko samodejno da vodo, ko je kozarec postavljen blizu njega. Sliši se v redu, kajne! Torej zgradimo enega…
Potrebni materiali
- Elektromagnetni ventil
- Arduino Uno (katera koli različica)
- HCSR04 - ultrazvočni senzor
- IRF540 MOSFET
- 1k in 10k upor
- Breadboard
- Povezovanje žic
Koncept dela
Koncept samodejnega razpršilnika vode je zelo preprost. Z ultrazvočnim senzorjem HCSR04 bomo preverili, ali je pred razdeljevalnikom postavljen kakšen predmet, na katerem je steklo. Elektromagnetni ventil se bo uporabljal za nadzor pretoka vode, ki bo, ko bo pod napetostjo, voda odtekla in ko bo brez energije, se bo voda ustavila. Tako bomo napisali program Arduino, ki vedno preveri, ali je kakšen predmet nameščen v bližini pipe, če je odgovor pritrdilen, se vklopi magnetni pokrov in počaka, da se objekt odstrani. oskrba z vodo. Več o uporabi ultrazvočnega senzorja z Arduinom lahko preberete tukaj.
Shema vezja
Celoten diagram vezja za razpršilnik vode na osnovi Arduino je prikazan spodaj
Elektromagnetni ventil, ki se uporablja v tem projektu, je 12V ventil z največjo tokovno močjo 1,2A in neprekinjeno tokovno močjo 700mA. Takrat, ko je ventil vklopljen, bo porabil približno 700 mA, da bo ventil vklopljen. Kot vemo, je Arduino razvojna plošča, ki deluje z napetostjo 5 V, zato potrebujemo vklopno in izklopno vezje gonilnika za elektromagnet.
Preklopna naprava, uporabljena v tem projektu, je N-kanalni MOSFET IRF540N. Ima 3 nožice Gate, Source in Drain iz pin 1 v tem zaporedju. Kot je prikazano na vezju, se pozitivni priključek elektromagnetnega ventila napaja z Vin-zatičem Arduino. Ker bomo za napajanje Arduina uporabili 12V adapter, Vin pa bo izhodil 12V, ki ga lahko uporabimo za nadzor elektromagnetnega polja. Negativni priključek solenoida je povezan s tlemi prek MOSFET-ovih zatičev Source in Drain. Elektromagnet se bo torej napajal le, če je vklopljen MOSFET.
Zatič MOSFET se uporablja za vklop ali izklop. Če je zatič vrat ozemljen, ostane izklopljen in se vklopi, če je napetost vrat vgrajena. Če želite, da je MOSFET izklopljen, ko na zatič vrat ne deluje napetost, se zatič vrat potegne na tla s pomočjo 10k upora. Zatič Arduino 12 se uporablja za vklop ali izklop MOSFET-a, zato je zatič D12 povezan z zatičem vrat skozi upor 1K. Ta upor 1K se uporablja za omejevanje toka.
Ultrazvočni senzor poganja + 5V in zemeljske zatiči za Arduino. Echo in sprožilec je zvezana z osjo 8 in pin 9 oz. Nato lahko Arduino programiramo tako, da z ultrazvočnim senzorjem meri razdaljo in vklopi MOSFET, ko zazna predmet. Celotno vezje je preprosto in ga je zato mogoče enostavno zgraditi na vrhu plošče. Moj je po vzpostavitvi povezav spodaj izgledal nekako takole.
Programiranje plošče Arduino
Za ta projekt moramo napisati program, ki uporablja ultrazvočni senzor HCSR-04 za merjenje razdalje predmeta pred njim. Ko je razdalja manjša od 10 cm, moramo vklopiti MOSFET, sicer pa moramo izklopiti MOSFET. Uporabili bomo tudi vgrajeno LED diodo, priključeno na pin 13, in jo preklopili skupaj z MOSFET-jem, da bomo lahko zagotovili, ali je MOSFET vklopljen ali izklopljen. Celoten program, da storijo enako je podan na koncu te strani. Tik spodaj sem razložil program tako, da sem ga razdelil na majhne pomenljive delčke.
Program se začne z definicijo makrov. Za vhod / izhod našega Arduina imamo na voljo sprožilni in odmevni zatič za ultrazvočni senzor ter MOSFET-ov zatič in LED. Tako smo določili, na kateri pin bodo ti povezani. V naši strojni opremi smo eho in sprožilni pin povezali na 8 oziroma 9- ti digitalni pin. Nato je MOSFET-pin priključen na pin 12, vgrajena LED pa je privzeto na pin 13. Enako določimo z uporabo naslednjih vrstic
#define trigger 9 #define echo 8 #define LED 13 #define MOSFET 12
Znotraj nastavitvene funkcije določimo, kateri zatiči so vhodni in kateri izhodni. V naši strojni opremi je vhodni zatič le senzor odmeva ultrazvoka (ZDA), ostali pa so izhodni zatiči. Torej uporabljamo funkcijo pinMode v Arduinu, da določimo enako, kot je prikazano spodaj
pinMode (sprožilec, IZHOD); pinMode (echo, INPUT); pinMode (LED, IZHOD); pinMode (MOSFET, IZHOD);
Znotraj funkcije glavne zanke pokličemo funkcijo, imenovano ukrep_distance (). Ta funkcija s pomočjo ameriškega senzorja meri razdaljo predmeta pred seboj in posodablja vrednost na spremenljivko ' distance' . Za merjenje razdalje s pomočjo ameriškega senzorja je treba sprožilni zatič najprej držati nizko dve mikro sekundi, nato ga držati deset mikrosekund in ponovno držati nizko dve mikrosekundi. To bo poslalo zvočni zvok ultrazvočnih signalov v zrak, ki ga bo odseval predmet pred seboj, odmevni zatič pa bo pobral signale, ki jih bo odbijal. Nato s pomočjo izračunane vrednosti izračunamo razdaljo predmeta pred senzorjem. Če želite vedeti