- Zahtevane komponente za projekt sistema za zalivanje rastlin Arduino
- Pojasnilo vezja:
- Delovna razlaga:
- Pojasnilo programiranja:
Kadar gremo za nekaj dni iz mesta, smo vedno skrbeli za svoje rastline, saj redno potrebujejo vodo. Torej tukaj izdelujemo sistem za samodejno namakanje rastlin z uporabo Arduina, ki samodejno oskrbuje rastline z vodo in vas redno posodablja s pošiljanjem sporočil na vaš mobilni telefon.
V tej rastlin Zalivanje sistema, Soil Moisture Sensor preglede raven vlage v tleh, in če raven vlage je nizka, potem Arduino preklopi Na vodno črpalko za zagotavljanje vode za rastline. Vodna črpalka se samodejno izklopi, ko sistem v tleh najde dovolj vlage. Vsakič, ko sistem vklopi ali izklopi črpalko, se uporabniku prek modula GSM pošlje sporočilo, ki posodobi stanje vodne črpalke in vlage v tleh. Ta sistem je zelo uporaben na kmetijah, vrtovih, domovih itd. Ta sistem je popolnoma avtomatiziran in ni potrebe po človekovem posredovanju.
Zahtevane komponente za projekt sistema za zalivanje rastlin Arduino
- Arduino Uno
- GSM modul
- Tranzistor BC547 (2)
- Priključne žice
- 16x2 LCD (neobvezno)
- Napajanje 12v 1A
- Rele 12v
- Črpalka za vodni hladilnik
- Senzor vlage v tleh
- Upori (1k, 10k)
- Spremenljiv upor (10k, 100k)
- Priključek priključka
- Napetostni regulator IC LM317
GSM modul:
Tu smo uporabili GSM modul TTL SIM800. SIM800 je popoln štiripasovni GSM / GPRS modul, ki ga kupec ali hobi lahko enostavno vdela. SIM900 GSM modul zagotavlja industrijski vmesnik; SIM800 zagotavlja GSM / GPRS 850/900/1800 / 1900MHz zmogljivosti za glas, SMS, podatke z nizko porabo energije. Ta modul SIM800 GSM je zasnovan tanek in kompakten. Zlahka je na voljo na trgu ali na spletu pri eBayu.
- Štiripasovni GSM / GPRS modul v majhni velikosti.
- GPRS omogočen
- Izhod TTL
Več o modulu GSM in ukazih AT preberite tukaj. Preverite tudi naše različne projekte, ki uporabljajo GSM in Arduino, da pravilno razumete njihovo povezovanje.
Pojasnilo vezja:
V tem namakalnem sistemu za rastline smo uporabili domačo sondo za senzor vlage v tleh, da zaznamo raven vlažnosti tal. Za izdelavo sonde smo izrezali in jedkali bakreno oblečeno ploščo v skladu s spodnjo sliko. Ena stran sonde je neposredno povezana z Vcc, drugi terminal sonde pa gre na dno tranzistorja BC547. Na dno tranzistorja je priključen potenciometer za nastavitev občutljivosti senzorja.
Arduino se uporablja za nadzor celotnega procesa tega samodejnega sistema za zalivanje rastlin. Izhod vezja senzorja tal je neposredno povezan z digitalnim zatičem D7 Arduino. V tokokrogu senzorja se uporablja LED, stanje ON vklopljenem stanju pomeni prisotnost vlage v tleh, stanje OFF pa odsotnost vlage v tleh.
GSM modul se uporablja za pošiljanje SMS-ov uporabniku. Tu smo uporabili modul TTL SIM800 GSM, ki daje in sprejema logiko TTL neposredno (uporabnik lahko uporablja kateri koli modul GSM). Za napajanje modula SIM800 GSM se uporablja napetostni regulator LM317. LM317 je zelo občutljiv na napetost in pred uporabo je priporočljivo prebrati njegov podatkovni list. Njegova nazivna delovna napetost je od 3,8 do 4,2 v (raje 3,8 v). Spodaj je shema vezja napajanja, podano modulu TTL sim800 GSM:
Če želi uporabnik uporabljati modul SIM900 TTL, mora uporabiti 5 V, če pa želi uporabiti modul SIM900, nato v režo DC na plošči uporabite 12v.
12V Rele se uporablja za krmiljenje majhno vodno črpalko 220VAC. Rele poganja tranzistor BC547, ki je nadalje povezan z digitalnim zatičem 11 Arduina.
Za prikaz stanja in sporočil se uporablja tudi izbirni LCD. Krmilni zatiči LCD, RS in EN so povezani na zatiči 14 in 15 Arduina, podatkovni zatiči LCD D4-D7 pa so neposredno priključeni na zatiče 16, 17, 18 in 19 Arduina. LCD se uporablja v 4-bitnem načinu, poganja pa ga Arduinova vgrajena knjižnica LCD.
Spodaj je diagram vezja tega namakalnega sistema z arduinom in senzorjem vlažnosti tal:
Delovna razlaga:
Delovanje tega sistema za samodejno namakanje rastlin je povsem preprosto. Najprej gre za popolnoma avtomatiziran sistem in za nadzor sistema ni potrebna delovna sila. Arduino se uporablja za nadzor celotnega procesa, GSM modul pa za pošiljanje opozorilnih sporočil uporabniku na njegovem mobilnem telefonu.
Če je v tleh prisotna vlaga, je med obema sondama senzorja vlažnosti tal prevodnost in zaradi te prevodnosti ostane tranzistor Q2 v sproženem / vklopljenem stanju, Arduino Pin D7 pa ostane nizek. Ko Arduino prebere LOW signal na D7, uporabniku pošlje SMS o »Vlaga v tleh je normalna. Motor je IZKLOPLJEN ”in vodna črpalka ostane v stanju izključenosti.
Če v tleh ni vlage, se tranzistor Q2 izklopi, pin D7 pa postane visok. Nato Arduino prebere pin D7 in vklopi vodni motor ter uporabniku pošlje sporočilo o »Zaznana vlaga v tleh. Motor je vklopljen ". Motor se samodejno izklopi, ko je v tleh dovolj vlage. Nadalje preverite predstavitveni video in kodo (na koncu) za boljše razumevanje delovnega procesa projekta.
Pojasnilo programiranja:
Koda tega programa je lahko razumljiva. Najprej smo vključili knjižnico SoftwareSerial, da sta pin 2 in 3 označena kot Rx & Tx, poleg tega pa tudi LiquidCrystal za LCD. Nato smo določili nekaj spremenljivk za motor, senzor vlažnosti tal, LED itd.
#include
Nato se v funkciji void setup () serijska komunikacija inicializira s hitrostjo 9600 bps in navodila dobijo različni zatiči. Funkcija gsmInit je potrebna za inicializacijo modula GSM.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, IZHOD); pinMode (motor, IZHOD); pinMode (senzor, INPUT_PULLUP); lcd.print ("Water Irrigaton"); lcd.setCursor (4,1); zamuda (2000); lcd.clear (); lcd.print ("Circuit Digest"); lcd.setCursor (0,1); lcd.print ("pozdravlja vas"); zamuda (2000); gsmInit ();
Nato senzor odčita v funkciji void loop () in motor vklopi ali izklopi glede na stanje senzorja in uporabniku s funkcijo sendSMS pošlje tudi SMS. Preverite različne funkcije v celotni kodi, navedeni na koncu.
void loop () {lcd.setCursor (0,0); lcd.print ("Samodejni način"); if (digitalRead (sensor) == 1 && flag == 0) {delay (1000); if (digitalRead (senzor) == 1) {digitalWrite (led, HIGH); sendSMS ("Zaznana vlaga v tleh. Motor je vklopljen"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Tu je funkcija gsmInit () pomembna in uporabniki večinoma težko pravilno nastavijo. Uporablja se za inicializacijo GSM modula, pri čemer najprej GSM modul preveri, ali je povezan ali ne, s pošiljanjem ukaza AT na modul GSM. Če je odgovor prejet, pomeni, da je pripravljen. Sistem nadaljuje s preverjanjem modula, dokler ni pripravljen ali dokler ne prejme 'OK'. Nato se ECHO izklopi s pošiljanjem ukaza ATE0, sicer bo modul GSM odmeval vse ukaze. Nato se končno preveri razpoložljivost omrežja s pomočjo 'AT + CPIN?' Če je vstavljena kartica SIM kartica in je prisoten PIN, se odzove READY. To tudi večkrat preverite, dokler ne najdete omrežja. To lahko jasno razumemo v spodnjem videoposnetku.
void gsmInit () {lcd.clear (); lcd.print ("Iskanje modula.."); logična at_flag = 1; while (at_flag) {Serial1.println ("AT"); medtem ko (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } zamuda (1000); }……………….
S tem samodejnim namakalnim sistemom vam ni treba skrbeti za vaše rastline, ko niste doma. Nadaljevati ga je mogoče z uporabo in nadzorom preko interneta.