- Szükséges alkatrészek az Arduino üzem öntözőrendszer projektjéhez
- Áramkör magyarázat:
- Munka magyarázat:
- Programozási magyarázat:
Amikor néhány napra kimegyünk a városból, mindig aggódni kezdtünk növényeink miatt, mivel rendszeresen vízre van szükségük. Tehát itt az Arduino használatával automatikus növényi öntöző rendszert készítünk, amely automatikusan szolgáltatja a növényeknek a vizet, és folyamatosan tájékoztatja Önt azáltal, hogy üzenetet küld a mobiltelefonjára.
Ebben Plant öntözőrendszerrel, talajnedvesség érzékelő ellenőrzi a nedvességtartalom a talajban, és ha nedvességtartalma alacsony, akkor Arduino bekapcsol a szivattyú, hogy a víz a növény. A vízpumpa automatikusan kikapcsol, ha a rendszer elegendő nedvességet talál a talajban. Amikor a rendszer be- vagy kikapcsolja a szivattyút, a GSM-modulon keresztül üzenetet küld a felhasználónak, frissítve a vízszivattyú állapotát és a talajnedvességet. Ez a rendszer nagyon hasznos gazdaságokban, kertekben, otthonokban stb. Ez a rendszer teljesen automatizált, és nincs szükség emberi beavatkozásra.
Szükséges alkatrészek az Arduino üzem öntözőrendszer projektjéhez
- Arduino Uno
- GSM modul
- BC547 tranzisztor (2)
- Csatlakozó vezetékek
- 16x2 LCD (opcionális)
- Tápegység 12v 1A
- Relé 12v
- Vízhűtő szivattyú
- Talajnedvesség-érzékelő
- Ellenállások (1k, 10k)
- Változó ellenállás (10k, 100k)
- Sorkapocs csatlakozója
- LM317 IC feszültségszabályozó
GSM modul:
Itt TTL SIM800 GSM modult használtunk. A SIM800 egy teljes négysávú GSM / GPRS modul, amelyet az ügyfél vagy a hobbi könnyen beágyazhat. A SIM900 GSM modul iparági szabványos interfészt biztosít; a SIM800 GSM / GPRS 850/900/1800 / 1900MHz teljesítményt nyújt alacsony hangfogyasztású hang-, SMS- és adatátvitelhez. A SIM800 GSM modul vékony és kompakt kialakítású. Könnyen elérhető a piacon vagy online az eBay-n.
- Négysávos GSM / GPRS modul kis méretben.
- GPRS engedélyezve
- TTL kimenet
Tudjon meg többet a GSM modulról és az AT parancsokról itt. Ellenőrizze a GSM és az Arduino használatával készült különböző projektjeinket, hogy megfelelően megértsék-e az interfészeiket.
Áramkör magyarázat:
Ebben a növényi öntözőrendszerben házi készítésű talajnedvesség-érzékelő szondát használtunk a talaj nedvességszintjének érzékelésére. A próba elkészítéséhez egy rézzel borított táblát vágtunk és marattunk az alábbi ábra szerint. A szonda egyik oldala közvetlenül csatlakozik a Vcc-hez, a szonda másik oldala pedig a BC547 tranzisztor alapjához kerül. Az érzékelő érzékenységének beállításához egy potenciométer van csatlakoztatva a tranzisztor aljához.
Az Arduino- t ennek az automatikus növényi öntözőrendszernek az egész folyamatának irányítására használják. A talajérzékelő áramkör kimenete közvetlenül csatlakozik az Arduino D7 digitális érintkezőjéhez. A szenzor áramkörénél egy LED-et használnak, ez a LED bekapcsolt állapotában jelzi a nedvesség jelenlétét a talajban, az OFF pedig a nedvesség hiányát a talajban.
A GSM modult SMS-ek küldésére használják a felhasználó számára. Itt TTL SIM800 GSM modult használtunk, amely közvetlenül megadja és átveszi a TTL logikát (a felhasználó bármilyen GSM modult használhat). A LM317 feszültség szabályozó energiaellátására alkalmazzuk a SIM800 GSM modul. Az LM317 nagyon érzékeny a feszültségre, ezért használat előtt ajánlott elolvasni az adatlapját. Üzemi feszültsége 3,8v - 4,2v (üzemeltetéséhez kérjük, inkább 3,8v). Az alábbiakban látható a TTL sim800 GSM modul áramellátásának áramköre:
Ha a felhasználó a SIM900 TTL modult akarja használni, akkor használja az 5 V-ot, és ha a felhasználó a SIM900 modult akarja használni, akkor alkalmazza a 12 V-ot a kártya DC aljzatába.
Egy 12 V-os relét használnak a 220 VAC-os kis vízszivattyú vezérlésére. A relét egy BC547 tranzisztor hajtja, amely tovább kapcsolódik az Arduino 11-es digitális érintkezőjéhez.
Az állapot és az üzenetek megjelenítéséhez opcionális LCD- t is használnak. Az LCD, RS és EN vezérlőcsapjai az Arduino 14. és 15. érintkezőjéhez vannak csatlakoztatva, az LCD D4-D7 adatcsapjai pedig közvetlenül az Arduino 16., 17., 18. és 19. érintkezőjéhez vannak csatlakoztatva. Az LCD-t 4-bites módban használják, és az Arduino beépített LCD könyvtárának vezérli.
Az alábbiakban bemutatjuk ennek az arduino és talajnedvesség érzékelővel ellátott öntözőrendszer kapcsolási rajzát:
Munka magyarázat:
Ennek az automatikus növényi öntözőrendszernek a működése meglehetősen egyszerű. Először is, ez egy teljesen automatizált rendszer, és nincs szükség munkaerőre a rendszer irányításához. Az Arduino-t a teljes folyamat vezérléséhez, a GSM-modult pedig riasztási üzenetek küldéséhez használják a felhasználók számára a mobiltelefonján.
Ha nedvesség van jelen a talajban, akkor a talajnedvesség-érzékelő két szondája között vezetés van, és ennek a vezetésnek köszönhetően a Q2 tranzisztor kivált / bekapcsolt állapotban marad, az Arduino D7 tű pedig alacsony marad. Amikor az Arduino LOW jelet olvas a D7-nél, akkor SMS-t küld a felhasználónak arról, hogy „A talajnedvesség normális. Motor kikapcsolva ”és a vízszivattyú kikapcsolt állapotban marad.
Ha a talajban nincs nedvesség, akkor a Q2 tranzisztor kikapcsol és a D7 csap magas lesz. Ezután Arduino elolvassa a D7 csapot és bekapcsolja a vízmotort, és üzenetet is küld a felhasználónak az „Alacsony talajnedvesség észlelése. Motor be van kapcsolva ”. A motor automatikusan kikapcsol, ha elegendő nedvesség van a talajban. Ellenőrizze a bemutató videót és a kódot (a végén megadott), hogy jobban megértse a projekt munkafolyamatát.
Programozási magyarázat:
A program kódja könnyen érthető. Először is a SoftwareSerial könyvtárat vezettük be a 2. és a 3. tű elkészítésére Rx & Tx néven, valamint a LiquidCrystal-t az LCD-hez. Ezután meghatároztunk néhány változót a motorhoz, a talajnedvesség-érzékelőhöz, a LED-hez stb.
#include
Ezután a void setup () funkcióban a soros kommunikáció inicializálódik 9600 bps sebességgel, és irányokat adnak a különféle csapoknak. A GSM modul inicializálásához a gsmInit függvény szükséges.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, OUTPUT); pinMode (motor, OUTPUT); pinMode (érzékelő, INPUT_PULLUP); lcd.print ("Water Irrigaton"); lcd.setCursor (4,1); késés (2000); lcd.clear (); lcd.print ("Circuit Digest"); lcd.setCursor (0,1); lcd.print ("Üdvözöllek"); késés (2000); gsmInit ();
Ezután az érzékelő beolvassa a void loop () funkciót, és a motort be- vagy kikapcsolja az érzékelő állapotának megfelelően, és a sendSMS funkció segítségével SMS-t is küld a felhasználónak. Ellenőrizze a különféle funkciókat a végén megadott teljes kódban.
void loop () {lcd.setCursor (0,0); lcd.print ("Automatikus mód"); if (digitalRead (érzékelő) == 1 && flag == 0) {késleltetés (1000); if (digitalRead (érzékelő) == 1) {digitalWrite (led, HIGH); sendSMS ("Alacsony talajnedvesség észlelve. A motor be van kapcsolva"); lcdbegin (16,2); lcd.setCursor (0,1);…………………
Itt fontos a gsmInit () függvény, és a felhasználók többnyire nehezen tudják megfelelően beállítani őket. A GSM modul inicializálására szolgál, ahol először a GSM modult ellenőrzik, hogy csatlakozik-e vagy sem, az 'AT' parancs elküldésével a GSM modulba. Ha a válasz OK, azt jelenti, hogy készen áll. A rendszer folyamatosan ellenőrzi a modult, amíg készen áll, vagy amíg az 'OK' üzenetet meg nem kapja. Ezután az ECHO kikapcsol az ATE0 parancs elküldésével, különben a GSM modul visszhangozza az összes parancsot. Végül a hálózati elérhetőséget ellenőrzik az "AT + CPIN?" parancs, ha a behelyezett kártya SIM-kártya és PIN van, akkor READY választ ad. Ezt addig is többször ellenőrizzük, amíg meg nem találjuk a hálózatot. Ezt az alábbi videó egyértelműen megértheti.
void gsmInit () {lcd.clear (); lcd.print ("Modul keresése.."); logikai at_flag = 1; while (at_flag) {Serial1.println ("AT"); while (Sorozat1.elérhető ()> 0) {if (Soros1.talál ("OK")) at_flag = 0; } késleltetés (1000); }……………….
Tehát ezzel az automatikus öntözőrendszerrel nem kell aggódnia növényei miatt, amikor távol van otthonától. Tovább javítható, hogy az interneten keresztül működtethető és felügyelhető legyen.