- Reikalingi „Arduino“ augalų laistymo sistemos projekto komponentai
- Grandinės paaiškinimas:
- Darbinis paaiškinimas:
- Programavimo paaiškinimas:
Kai tik išvažiuojame iš miesto kelioms dienoms, visada nerimaujame dėl savo augalų, nes jiems reguliariai reikia vandens. Taigi čia mes gaminame automatinę augalų drėkinimo sistemą naudodami „Arduino“, kuri automatiškai tiekia vandenį jūsų augalams ir nuolat jus atnaujina, siunčiant pranešimą į savo mobilųjį telefoną.
Šį Augalų laistymo sistema, dirvožemio drėgmės jutiklis patikrinimai drėgmės lygis dirvožemyje ir jei drėgmės lygis yra žemas, tada Arduino įsijungia vandens siurblys teikti vandens augalų. Vandens siurblys automatiškai išsijungia, kai sistema randa pakankamai drėgmės dirvožemyje. Kai sistema įjungia arba išjungia siurblį, vartotojui per GSM modulį siunčiamas pranešimas, atnaujinantis vandens siurblio būseną ir dirvožemio drėgmę. Ši sistema yra labai naudinga ūkiuose, soduose, namuose ir pan. Ši sistema yra visiškai automatizuota ir nereikia jokio žmogaus įsikišimo.
Reikalingi „Arduino“ augalų laistymo sistemos projekto komponentai
- Arduino Uno
- GSM modulis
- Tranzistorius BC547 (2)
- Jungiamieji laidai
- 16x2 LCD ekranas (pasirinktinai)
- Maitinimo šaltinis 12v 1A
- Estafetė 12v
- Vandens aušintuvo siurblys
- Dirvožemio drėgmės jutiklis
- Rezistoriai (1k, 10k)
- Kintamas atsparumas (10k, 100k)
- Terminalo jungtis
- Įtampos reguliatoriaus IC LM317
GSM modulis:
Čia mes panaudojome TTL SIM800 GSM modulį. SIM800 yra visas keturių juostų GSM / GPRS modulis, kurį klientas ar mėgėjas gali lengvai įterpti. SIM900 GSM modulis suteikia pramonės standarto sąsają; SIM800 teikia GSM / GPRS 850/900/1800 / 1900MHz našumą balso, SMS, duomenų su mažu energijos suvartojimu. Šio SIM800 GSM modulio dizainas yra plonas ir kompaktiškas. Jis lengvai pasiekiamas rinkoje arba internetu iš „eBay“.
- Mažo dydžio keturių juostų GSM / GPRS modulis.
- GPRS įjungtas
- TTL išvestis
Sužinokite daugiau apie GSM modulį ir AT komandas čia. Taip pat patikrinkite įvairius mūsų projektus naudodami GSM ir „Arduino“, kad tinkamai suprastumėte jų sąsajas.
Grandinės paaiškinimas:
Šioje augalų drėkinimo sistemoje naudojome naminį dirvožemio drėgmės jutiklio zondą, kad pajustume dirvožemio drėgmės lygį. Norėdami pagaminti zondą, mes nupjaustėme ir išgraviravome vario plakiruotą lentą pagal paveikslėlį, parodytą žemiau. Viena zondo pusė yra tiesiogiai sujungta su Vcc, o kitas zondo gnybtas eina į BC547 tranzistoriaus pagrindą. Norint sureguliuoti jutiklio jautrumą, prie tranzistoriaus pagrindo prijungtas potenciometras.
„Arduino “ naudojamas kontroliuoti visą šios automatinės augalų laistymo sistemos procesą. Dirvožemio jutiklio grandinės išėjimas yra tiesiogiai prijungtas prie „Arduino“ skaitmeninio kaiščio D7. Šviesos diodas naudojamas jutiklio grandinėje, šis šviesos diodas įjungtas rodo, kad dirvožemyje yra drėgmės, o išjungta - drėgmės nebuvimą dirvožemyje.
GSM modulis naudojamas SMS siuntimui vartotojui. Čia mes panaudojome TTL SIM800 GSM modulį, kuris tiesiogiai suteikia ir perima TTL logiką (vartotojas gali naudoti bet kurį GSM modulį). LM317 įtampos reguliatorius yra naudojamas galia SIM800 GSM modulis. LM317 yra labai jautrus įtampai, todėl prieš naudojimą rekomenduojama perskaityti jo duomenų lapą. Jo darbinė įtampa yra nuo 3,8v iki 4,2v (norėdami, kad ji veiktų, teikite pirmenybę 3,8v). Žemiau pateikiama maitinimo grandinės schema, pateikta TTL sim800 GSM moduliui:
Jei vartotojas nori naudoti SIM900 TTL modulį, jis turėtų naudoti 5V, o jei vartotojas nori naudoti SIM900 modulį, tada 12v naudokite plokštės DC lizdo lizde.
12V relė yra naudojami siekiant kontroliuoti 220VAC mažas vandens siurblį. Relę valdo BC547 tranzistorius, kuris toliau prijungtas prie „Arduino“ skaitmeninio kaiščio 11.
Pasirenkamas LCD taip pat naudojamas būsenai ir pranešimams rodyti. LCD, RS ir EN valdymo kaiščiai yra prijungti prie „Arduino“ 14 ir 15 kontaktų, o „LCD D4-D7“ duomenų kaiščiai yra tiesiogiai prijungti prie „Arduino“ 16, 17, 18 ir 19 kontaktų. Skystųjų kristalų ekranas naudojamas 4 bitų režimu ir valdomas „Arduino“ integruotos LCD bibliotekos.
Žemiau pateikiama šios drėkinimo sistemos su arduino ir dirvožemio drėgmės jutikliu schema:
Darbinis paaiškinimas:
Šios automatinės augalų drėkinimo sistemos darbas yra gana paprastas. Visų pirma, tai yra visiškai automatizuota sistema ir nereikia valdyti sistemos darbo jėgos. „Arduino“ naudojamas viso proceso valdymui, o GSM modulis naudojamas įspėjimo pranešimų siuntimui vartotojui jo mobiliajame telefone.
Jei dirvožemyje yra drėgmės, tarp dviejų dirvožemio drėgmės jutiklio zondų yra laidumas ir dėl šio laidumo tranzistorius Q2 išlieka įjungtas / įjungtas, o „Arduino“ kaištis D7 lieka žemas. Kai „Arduino“ skaito LOW signalą D7, jis siunčia SMS vartotojui apie „Dirvožemio drėgmė yra normali. Variklis išjungtas “, o vandens siurblys išjungtas.
Jei dirvožemyje nėra drėgmės, tada tranzistorius Q2 išsijungia, o kaištis D7 tampa aukštas. Tada „Arduino“ perskaito kaištį D7 ir įjungia vandens variklį, taip pat vartotojui siunčia pranešimą apie „Žemo dirvožemio drėgmės aptikimas. Variklis įjungtas “. Variklis automatiškai išsijungs, kai dirvožemyje bus pakankamai drėgmės. Toliau patikrinkite demonstracinį vaizdo įrašą ir kodą (pateiktą pabaigoje), kad geriau suprastumėte projekto darbo procesą.
Programavimo paaiškinimas:
Šios programos kodas yra lengvai suprantamas. Pirmiausia mes įtraukėme „ SoftwareSerial“ biblioteką, kad 2 ir 3 kaiščiai būtų „Rx & Tx“, taip pat „ LiquidCrystal“, skirtą LCD. Tada mes apibrėžėme keletą variklio, dirvožemio drėgmės jutiklio, šviesos diodų ir kt.
# įtraukti
Tada naudojant „ void setup“ () funkciją serijinis ryšys pradedamas 9600 bps greičiu ir nurodymai pateikiami įvairiems kaiščiams. Norint inicijuoti GSM modulį, reikalinga „ gsmInit“ funkcija.
Serial1.begin (9600); Serijos pradžia (9600); pinMode (led, OUTPUT); pinMode (variklis, OUTPUT); pinMode (jutiklis, INPUT_PULLUP); lcd.print ("Vandens Irrigaton"); lcd.setCursor (4,1); vėlavimas (2000); lcd.clear (); lcd.print („Grandinės santrauka“); lcd.setCursor (0,1); lcd.print („Sveiki jus“); vėlavimas (2000); gsmInit ();
Tada jutiklis nuskaitomas „ void loop“ () funkcija, o variklis įjungiamas arba išjungiamas atsižvelgiant į jutiklio būseną, o vartotojui taip pat siunčiama SMS žinutė naudojant sendSMS funkciją. Patikrinkite įvairias funkcijas, nurodytas pabaigoje.
void loop () {lcd.setCursor (0,0); lcd.print („Automatinis režimas“); if (digitalRead (jutiklis) == 1 && flag == 0) {delsa (1000); if (digitalRead (jutiklis) == 1) {digitalWrite (LED, HIGH); sendSMS ("Aptikta mažai dirvožemio drėgmės. Variklis įjungtas"); lcd.prade (16,2); lcd.setCursor (0,1);…………………
Čia svarbi funkcija „ gsmInit ()“ ir vartotojams dažniausiai sunku nustatyti, jei tinkamai. Jis naudojamas inicijuojant GSM modulį, kur pirmiausia patikrinamas, ar jis prijungtas, ar ne, siunčiant „AT“ komandą į GSM modulį. Jei atsakymas gautas gerai, reiškia, kad jis yra paruoštas. Sistema nuolat tikrina modulį, kol jis bus paruoštas arba kol bus gautas „Gerai“. Tada ECHO išjungiamas siunčiant komandą ATE0, kitaip GSM modulis atkartos visas komandas. Tada galiausiai tinklo prieinamumas patikrinamas per „AT + CPIN?“ komanda, jei įdėta kortelė yra SIM kortelė ir yra PIN kodas, ji pateikia atsakymą PARUOŠTA. Tai taip pat tikrinama pakartotinai, kol bus rastas tinklas. Tai gali aiškiai suprasti toliau pateiktas vaizdo įrašas.
void gsmInit () {lcd.clear (); lcd.print ("Ieškoti modulio.."); loginis at_flag = 1; while (at_flag) {Serial1.println ("AT"); while (Serial1.available ()> 0) {if (Serial1.find ("Gerai")) at_flag = 0; } vėlavimas (1000); }……………….
Taigi, naudodamiesi šia automatine drėkinimo sistema, jums nereikia jaudintis dėl augalų, kai esate toli nuo savo namų. Jis gali būti dar labiau patobulintas, kad būtų valdomas ir stebimas internetu.