Sisällysluettelo:

Kasvien valvonta SMS -hälytyksellä: 5 vaihetta
Kasvien valvonta SMS -hälytyksellä: 5 vaihetta

Video: Kasvien valvonta SMS -hälytyksellä: 5 vaihetta

Video: Kasvien valvonta SMS -hälytyksellä: 5 vaihetta
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Marraskuu
Anonim
Kasvien valvonta SMS -hälytyksellä
Kasvien valvonta SMS -hälytyksellä

Täällä luon laitoksen seurannan SMS -hälytyksellä. Palvelin ei ole välttämätön tälle hälytysjärjestelmälle. Se on erittäin halpa ja luotettava projekti.

Vaihe 1: Järjestelmän lohkokaavio

Järjestelmän lohkokaavio
Järjestelmän lohkokaavio

Nykypäivän kasvihuoneissa tarvitaan monia parametrien mittauksia

valvoa ja valvoa kasvien hyvää laatua ja tuottavuutta. Haluttujen tulosten saavuttamiseksi on kuitenkin olemassa joitakin erittäin tärkeitä tekijöitä, kuten lämpötila, kosteus, kevyt ja hyvä maaperä, jotka ovat välttämättömiä kasvien paremman kasvun kannalta. Nämä parametrit pitäen mielessä olen rakentanut automaattisen kasvien valvontajärjestelmän GSM -moduulin päälle Arduinolla. Tämä järjestelmä on erittäin tehokas laadukkaiden kasvien kasvattamiseen. Toinen tärkeä osa tätä projektia on, että se on täysin automaattinen ja toimii pienjännitteellä; 5-12V DC-syöttö.

Nykyään GSM -moduulia käytetään laajalti kaikenlaisten tietojen tekstiviestien lähettämiseen. Tässä projektissa SIM900A GSM -moduulin avulla voimme säilyttää tietoa ilmaston vaikutuksista kasveihin. Järjestelmän on myös osoitettava ilmastonmuutokset, jotka vaikuttavat laitoksen tuottavuuteen ja laatuun jne. Tämän projektin päätavoitteena on rakentaa automaattinen laitoksen valvonta, jossa GSM -moduuli lähettää tiedot lämpötilasta, kosteudesta, valon voimakkuudesta, maaperästä kosteutta.

Koska olen Intian kansalainen, käytetty SIM900A (A tarkoittaa Aasian verkkoa) -moduuli, mutta voit käyttää erilaista SIM -moduulia maasi mukaan. AT -koodit voivat vaihdella.

Vaihe 2: Komponenttitiedot

Komponentin tiedot
Komponentin tiedot
Komponentin tiedot
Komponentin tiedot
Komponentin tiedot
Komponentin tiedot

------------------ Mittaan neljän tyyppisiä parametreja, jotka ovat menossa

keskustella alla: ------------------

Lämpötila ja kosteus

DHT11 -anturia käytetään lämpötilan ja kosteuden mittaamiseen. Kun lämpötila ja kosteus ovat korkeat, kasvien juuret ovat vaurioituneet ja kasvien kasvu ei ole kunnossa.

Valon voimakkuus

Valon voimakkuus on tärkeä tekijä kasvin kasvulle. Valon voimakkuuden havaitsemiseen käytetään LDR: tä (valosta riippuvaa vastusta). Valon voimakkuus mitataan LUX -arvossa ja siksi esittelyyn käytetään 100 LUX -valoa määritettynä tai kynnystasona.

Maan kosteus

Maaperän kosteus on erittäin tärkeää kasvien hyvän kasvun kannalta. Tässä maaperäanturia käytetään maaperän kosteuspitoisuuden mittaamiseen. Tämän anturin avulla voimme mitata maaperätietoja sekä analogisesti että digitaalisesti.

SMS -ilmoitus:

Kun jonkin edellä mainitun parametrin arvo ylittää määritellyn tason tai kriittisen tason, järjestelmä lähettää automaattisesti tekstiviestin omistajalle tai operaattorille liittyvien parametrien tiedoilla ja kun arvo on normaalialueella tai määritetyn tason alapuolella, järjestelmä automaattisesti lähettää tekstiviestin omistajalle tai operaattorille, jossa on tietoja asiaan liittyvistä tiedoista.

Ilmoitus lähetetään vain kerran, kunnes ehto ei muutu, joten omistaja tai operaattori ei saa usein tekstiviestejä. Siksi tarvitaan pienempi tekstiviestipaketti.

Vaihe 3: Piirikaavio

Piirikaavio
Piirikaavio

Nämä kaikki osat ovat helposti saatavilla mistä tahansa verkkokauppasivustosta

tai tunnetun elektroniikkaosien jälleenmyyjän kanssa. Kaikki komponenttien tietolomakkeet ovat saatavilla verkossa. Jos sinulla on ongelmia, ota rohkeasti yhteyttä sähköpostillani.

Vaihe 4: Toimiva video- ja kooditiedosto

Viimeinen työvideo projektista

Vaihe 5: Ohjelmakoodi

#sisältää

#sisältää

LiquidCrystal lcd (2, 3, 4, 5, 6, 7);

dht DHT; #define dht_dpin A1 #define LUX A0 #define earth A3

kelluva voltti, lux, arvo; int output_value; int lämpötila, kosteus; int lightflag = 0; int humflag = 0; int maaperän lippu = 0; int tempflag = 0; int tarkistaa; int testi, testi1; tavuaste [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

mitätön asennus ()

{Serial.begin (9600); // Alusta sarja kommunikoidaksesi GSM -modeemin kanssa lcd.begin (16, 2); pinMode (maaperä, TULO); lcd.createChar (1 aste); lcd.setCursor (0, 0); lcd.print ("Kasvien terveys"); lcd.setCursor (0, 1); lcd.print ("Valvonta"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJECT"); lcd.setCursor (0, 1); lcd.print ("Tekijä S K CHHAYA"); viive (1000); lcd.clear (); } void loop () {output_value = analogRead (maaperä); output_value = kartta (output_value, 550, 0, 0, 100); arvo = analoginen luku (LUX); voltti = (arvo / 1023,0) * 5; lux = ((2500 / voltti) - 500) / 3,3; viive (10000); // Anna GSM: lle riittävästi aikaa rekisteröityä verkkoon DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lämpötila"); lcd.setCursor (0, 1); lcd.print (lämpötila = DHT.lämpötila); // Lämpötilatiedot nestekidenäytöllä lcd.write (1); lcd.print ("C"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kosteus"); lcd.setCursor (0, 1); lcd.print (kosteus = DHT.kosteus); // Kosteustiedot nestekidenäytön lcd.print -muodossa (" %"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Valo"); lcd.setCursor (0, 1); lcd.print (lux); // Valotiedot nestekidenäytön lcd.print -muodossa ("LUM"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kosteus"); lcd.setCursor (0, 1); lcd.print (output_value); // Maaperätiedot nestekidenäytön lcd.print -muodossa (" %"); viive (1000); lcd.clear ();

jos (lämpötila 40) {SendSMS (); // SMS for Temp high} jos (kosteus 40) {SendSMS2 (); // SMS for Kosteus korkea} if (lux 100) {SendSMS4 (); // SMS for Light high} jos (output_value == 950) {SendSMS7 (); // SMS kuivalle maaperälle} else if (output_value! = 950) {SendSMS6 (); // SMS kostealle maaperälle}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Lämpötila korkea"); Serial.print ("Lämpö"); Sarjajälki (lämpötila); Serial.println ("aste C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Lämpötila korkea"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lämpötila"); lcd.setCursor (0, 1); lcd.print (lämpötila); lcd.write (1); lcd.print ("C"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); tempflag = 1; tarkista = 0; testi = 0; viive (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Lämpötila alhainen"); Serial.print ("Lämpö"); Sarjajälki (lämpötila); Serial.println ("aste C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Lämpötila alhainen"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lämpötila"); lcd.setCursor (0, 1); lcd.print (lämpötila); lcd.write (1); lcd.print ("C"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); tempflag = 0; tarkista = 0; testi = 0; viive (10); }} mitätön SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Kosteus korkea"); Sarjajälki (kosteus); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Kosteus korkea"); viive (1000); lcd.setCursor (0, 1); lcd.print ("Kosteus"); lcd.print (kosteus); lcd.print (" %"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); humflag = 1; tarkista = 0; testi = 0; viive (10); }}

mitätön SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Alhainen kosteus"); Serial.print ("Kosteus"); Sarjajälki (kosteus); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Alhainen kosteus"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kosteus"); lcd.setCursor (0, 1); lcd.print (kosteus); lcd.print (" %"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); humflag = 0; tarkista = 0; testi = 0; viive (10); }} mitätön SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Tekstiviestien lähettäminen tekstitilassa viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Vaihda kohdepuhelinnumeron viiveeseen (500); Serial.print ("Hyvä valo"); Serial.print ("Intensiteetti"); Sarjanjälki (lux); Serial.println ("LUX"); Serial.println ((char) 26); // pysäytysmerkki Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Hyvä valo"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensiteetti"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); valolippu = 1; tarkista = 0; testi = 0; viive (10); }} mitätön SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("LOW LIGHT"); Serial.print ("Intensiteetti"); Sarjanjälki (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Hämärä"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensiteetti"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); valolippu = 0; tarkista = 0; testi = 0; viive (10); }} mitätön SendSMS6 () {if (groundflag == 0) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Kuiva maaperä"); Serial.print ("Kosteus"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Kuiva maaperä"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kosteus"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); maaperän lippu = 1; tarkista = 0; testi = 0; viive (10); }} mitätön SendSMS7 () {if (groundflag == 1) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Märkä maaperä"); Serial.print ("Kosteus"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Märkä maaperä"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kosteus"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); maaperän lippu = 0; tarkista = 0; testi = 0; viive (10); }}

Suositeltava: