Apie 71% žemės yra padengta vandeniu, bet, deja, tik 2,5% jos yra geriamasis vanduo. Tikimasi, kad didėjant gyventojų skaičiui, taršai ir klimato pokyčiams, jau 2025 m., Sulauksime daugiamečio vandens trūkumo. Viena vertus, tarp tautų ir valstybių jau vyksta nedideli ginčai dėl upių vandens dalijimosi, kita vertus, mes, žmonės, dėl savo aplaidumo švaistome daug geriamojo vandens.
Pirmą kartą jis gali neatrodyti didelis, bet jei jūsų čiaupas lašėtų vandens lašą kartą per sekundę, tai sugaištų vieną galoną vandens, tai užtenka vandens, kad vidutinis žmogus išgyventų dvi dienų. Taigi, ką galima padaryti, kad tai būtų sustabdyta? Kaip visada, į tai reikia atsakyti tobulinant technologijas. Jei pakeisime visus rankinius čiaupus išmaniaisiais, kurie automatiškai atsidaro ir užsidaro, galime ne tik sutaupyti vandens, bet ir sveikesnio gyvenimo būdo, nes nereikia čiaupo valdyti nešvariomis rankomis. Taigi šiame projekte mes pastatysime automatinį vandens dozatorių naudodami „Arduino“ ir elektromagnetinį vožtuvą, kuris gali automatiškai suteikti jums vandens, kai šalia jo yra stiklinė. Skamba šauniai! Taigi pastatykime vieną…
Reikalingos medžiagos
- Solenoidinis vožtuvas
- „Arduino Uno“ (bet kokia versija)
- HCSR04 - ultragarso jutiklis
- IRF540 MOSFET
- 1k ir 10k rezistorius
- Bandomoji Lenta
- Laidų sujungimas
Darbo koncepcija
Automatinio vandens dozatoriaus koncepcija yra labai paprasta. Mes naudosime ultragarso jutiklį HCSR04, kad patikrintume, ar prieš balionėlį nėra jokių objektų, kad stiklas būtų pastatytas. Vandens srautui valdyti bus naudojamas elektromagnetinis vožtuvas, ty tada, kai vanduo pateks į maitinimą, o išjungus, vanduo bus sustabdytas. Taigi, mes parašysime „Arduino“ programą, kuri visada tikrina, ar šalia čiaupo nėra jokių objektų, jei taip, tada solenoidas bus įjungtas ir palaukite, kol objektas bus pašalintas, kai objektas bus pašalintas, solenoidas automatiškai išsijungs ir uždarys vandens tiekimas. Sužinokite daugiau apie ultragarso jutiklio naudojimą su „Arduino“ čia.
Grandinės schema
Visa „ Arduino“ vandens dozatoriaus schema parodyta žemiau
Šiame projekte naudojamas elektromagnetinis vožtuvas yra 12 V vožtuvas, kurio maksimali srovės galia yra 1,2A, o nuolatinės srovės - 700mA. Būtent tada, kai vožtuvas yra įjungtas, jis sunaudos apie 700 mA, kad vožtuvas būtų įjungtas. Kaip žinome, „Arduino“ yra plėtros plokštė, veikianti su 5 V, todėl mums reikia jungiklio tvarkyklės grandinės, kad solenoidas jį įjungtų ir išjungtų.
Šiame projekte naudojamas perjungimo įtaisas yra IRF540N N-Channel MOSFET. Jis turi atitinkamai 3 kaiščius „Gate“, „Source“ ir „Drain from 1“. Kaip parodyta schemoje, teigiamas solenoido gnybtas maitinamas „Arduino“ „Vin“ kaiščiu. Kadangi „Arduino“ maitinimui naudosime 12 V adapterį, taigi „Vin“ kaištis išves 12 V įtampą, kurį galima naudoti elektromagnetui valdyti. Neigiamas solenoido gnybtas yra sujungtas su žeme per MOSFET šaltinio ir išleidimo kaiščius. Taigi solenoidas bus maitinamas tik įjungus MOSFET.
MOSFET vartų kaištis naudojamas jam įjungti arba išjungti. Jis liks išjungtas, jei vartų kaištis bus įžemintas, ir įsijungs, jei bus naudojama vartų įtampa. Kad MOSFET būtų išjungtas, kai vartų kaiščiui netaikoma įtampa, vartų kaištis pritraukiamas prie žemės, naudojant 10 k varžą. „Arduino“ kaištis 12 naudojamas įjungti arba išjungti MOSFET, todėl D12 kaištis yra sujungtas su vartų kaiščiu per 1K rezistorių. Šis 1K rezistorius naudojamas srovės ribojimo tikslams.
Ultragarsinis jutiklis yra powered by + 5V ir žemės kaiščių Arduino. „ Echo“ ir „ Trigger“ kaiščiai yra atitinkamai prijungti prie kaiščių 8 ir 9. Tada galime užprogramuoti „Arduino“ naudoti ultragarso jutiklį atstumui matuoti ir įjungti MOSFET, kai aptinkamas objektas. Visa grandinė yra paprasta, todėl ją galima lengvai pastatyti ant duonos lentos. Manasis atrodė maždaug taip žemiau, atlikęs ryšius.
„Arduino“ lentos programavimas
Šiam projektui turime parašyti programą, kuri naudoja ultragarsinį jutiklį HCSR-04 matuoti objekto atstumą priešais jį. Kai atstumas yra mažesnis nei 10 cm, mes turime įjungti MOSFET, o mes turime išjungti MOSFET. Mes taip pat naudosime laive esantį šviesos diodą, prijungtą prie 13 kaiščio, ir perjungsime jį kartu su MOSFET, kad galėtume užtikrinti, ar MOSFET yra įjungtas arba išjungtas. Visa programa, atliekanti tą patį, pateikiama šio puslapio pabaigoje. Kiek žemiau aš paaiškinau programą suskaidydamas ją į mažus prasmingus fragmentus.
Programa prasideda makrokomandų apibrėžimu. Mes turime ultragarso jutiklio gaiduką ir aido kaištį bei „MOSFET“ vartų kaištį ir šviesos diodą kaip įvestį / išvestį mūsų „Arduino“. Taigi mes nustatėme, prie kurio kaiščio jie bus prijungti. Savo aparatinėje įrangoje mes prijungėme „Echo“ ir „Trigger“ kaiščius atitinkamai prie 8 ir 9 -ojo skaitmeninio kaiščio. Tada MOSFET kaištis prijungiamas prie 12 kaiščio, o borto šviesos diodas pagal numatytuosius nustatymus yra prijungtas prie 13 kaiščio. Tą patį mes apibrėžiame naudodami šias eilutes
#define trigeris 9 #define echo 8 #define LED 13 #define MOSFET 12
Sąrankos funkcijos viduje deklaruojame, kurie kaiščiai įvedami, o kurie - išvestys. Mūsų aparatinėje įrangoje tik ultragarso (JAV) jutiklio aido kaištis yra įvesties kaištis, o visi kiti yra išvesties kaiščiai. Taigi mes naudojame „ Arduino“ funkciją „ pinMode“ , kad nurodytume tą patį, kaip parodyta žemiau
pinMode (trigeris, OUTPUT); pinMode (aidas, INPUT); pinMode (LED, OUTPUT); pinMode (MOSFET, OUTPUT);
Pagrindinės ciklo funkcijos viduje mes kviečiame funkciją, vadinamą Meas_distance (). Ši funkcija naudoja JAV jutiklį matuodama objekto atstumą priešais jį ir atnaujina reikšmę į kintamąjį „ atstumas“ . Norint išmatuoti atstumą naudojant JAV jutiklį, paleidimo kaištį pirmiausia reikia palaikyti žemai dvi mikro sekundes, tada dešimt mikrosekundžių laikyti aukštai ir vėl dvi sekundes laikyti žemai. Tai pasiųs į orą garsinį ultragarso signalų sprogimą, kurį atspindės priešais esantis objektas, o aido kaištis paims jo atspindėtus signalus. Tada mes naudojame laiko sąnaudas, kad apskaičiuotume objekto atstumą prieš jutiklį. Jei nori žinoti