Indholdsfortegnelse:

Anlægsovervågning med SMS -advarsel: 5 trin
Anlægsovervågning med SMS -advarsel: 5 trin

Video: Anlægsovervågning med SMS -advarsel: 5 trin

Video: Anlægsovervågning med SMS -advarsel: 5 trin
Video: Консультант от бога Tg: cadrolikk 2024, November
Anonim
Anlægsovervågning med SMS -advarsel
Anlægsovervågning med SMS -advarsel

Her opretter jeg planteovervågning med SMS -alarm. Serveren er ikke påkrævet til dette alarmsystem. Det er et meget billigt og pålideligt projekt.

Trin 1: Blokdiagram over systemet

Blokdiagram over systemet
Blokdiagram over systemet

I nutidens drivhuse kræves mange parametermålinger

at overvåge og kontrollere for planternes gode kvalitet og produktivitet. Men for at få de ønskede resultater er der nogle meget vigtige faktorer, der spiller ind som temperatur, fugtighed, lys og god jord, som er nødvendige for en bedre plantevækst. Med disse parametre i tankerne har jeg bygget et automatisk planteovervågningssystem over GSM -modul ved hjælp af Arduino. Dette system er meget effektivt til dyrkning af planter af god kvalitet. Den anden vigtige del af dette projekt er, at det er fuldautomatisk og arbejder på lavspænding som; 5-12V DC forsyning.

Nu om dage bruges GSM -modul i vid udstrækning til at sende SMS -status for enhver form for data. Her i dette projekt kan vi ved hjælp af SIM900A GSM -modul opbevare oplysninger om virkningerne af klimaet på planter. Systemet skal også demonstrere klimatiske ændringer, der påvirker anlægget i dets produktivitet og kvalitet osv. Hovedformålet med at komme med dette projekt er at bygge en automatisk planteovervågning, hvor GSM -modul sender oplysninger om temperatur, fugtighed, lysintensitet, jord fugtighed.

Fordi jeg er den indiske statsborger, brugte SIM900A (A står for asiatisk netværk) modul, men du kan bruge en anden slags SIM -modul i henhold til dit land. AT -koderne kan variere.

Trin 2: Komponentdetaljer

Komponent detaljer
Komponent detaljer
Komponent detaljer
Komponent detaljer
Komponent detaljer
Komponent detaljer

------------------ Jeg måler fire typer parametre, som går

at diskutere nedenfor: ------------------

Temperatur og fugtighed

DHT11 -sensoren bruges til at registrere temperatur og fugtighed. Når temperaturen og luftfugtigheden er høj, er roden af planter beskadiget og plantens vækst ikke godt.

Lysintensitet

Lysintensitet er en vigtig faktor for plantevæksten. Til påvisning af lysintensitet bruges LDR (Lysafhængig modstand). Lysintensitet måles i LUX og derfor bruges til demonstration 100 LUX lys som defineret eller tærskelværdi.

Jordfugt

Jordfugtighedsindhold er meget vigtigt for en god vækst af planter. Her bruges Jordsensor til at måle fugtindhold i Jord. Ved hjælp af denne sensor kan vi måle jorddata på begge måder, både analoge og digitale.

SMS -besked:

Når værdien af en af ovenstående parametre overskrides fra et defineret niveau eller kritisk niveau, sender systemet automatisk SMS til ejeren eller operatøren med oplysninger om relaterede parametre, og når værdien kommer i normalt område eller under det definerede niveau igen, vil systemet automatisk sende SMS til ejeren eller operatøren med oplysninger om relaterede data.

Meddelelsen sendes kun én gang, indtil tilstanden ikke ændres, så ejeren eller operatøren ikke får hyppig SMS. Derfor kræves lavere SMS -pakke.

Trin 3: Kredsløbsdiagram

Kredsløbsdiagram
Kredsløbsdiagram

Alle disse dele er let tilgængelige på ethvert online shoppingsted

eller hos en kendt elektronik-reservedelsforhandler. Alle komponenter datablade er tilgængelige på internettet. Hvis der er problemer, er du velkommen til at kontakte på min mail.

Trin 4: Arbejdsvideo og kodefil

Sidste arbejdsvideo af projektet

Trin 5: Kode for program

#omfatte

#omfatte

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

dht DHT; #definer dht_dpin A1 #definer LUX A0 #definer jord A3

float volt, lux, værdi; int output_værdi; int temperatur, fugtighed; int lightflag = 0; int humflag = 0; int jordflag = 0; int tempflag = 0; int check; int test, test1; bytegrad [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

ugyldig opsætning ()

{Serial.begin (9600); // Initialiser seriel til at kommunikere med GSM -modem lcd.begin (16, 2); pinMode (jord, INPUT); lcd.createChar (1, grad); lcd.setCursor (0, 0); lcd.print ("Plantesundhed"); lcd.setCursor (0, 1); lcd.print ("Monitering"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJEKT"); lcd.setCursor (0, 1); lcd.print ("Af S K CHHAYA"); forsinkelse (1000); lcd.clear (); } void loop () {output_value = analogRead (jord); output_value = kort (output_værdi, 550, 0, 0, 100); værdi = analogRead (LUX); volt = (værdi / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; forsinkelse (10000); // Giv nok tid til, at GSM kan registrere sig på netværket DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (temperatur = DHT. temperatur); // Temp data på LCD lcd.write (1); lcd.print ("C"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fugtighed"); lcd.setCursor (0, 1); lcd.print (luftfugtighed = DHT. fugtighed); // Fugtighedsdata på LCD lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lys"); lcd.setCursor (0, 1); lcd.print (lux); // Lysdata på LCD lcd.print ("LUM"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fugt"); lcd.setCursor (0, 1); lcd.print (output_value); // Jorddata på LCD lcd.print (" %"); forsinkelse (1000); lcd.clear ();

hvis (temperatur 40) {SendSMS (); // SMS for Temp high} if (fugtighed 40) {SendSMS2 (); // SMS for høj luftfugtighed} if (lux 100) {SendSMS4 (); // SMS til Light high} if (output_value == 950) {SendSMS7 (); // SMS til tør jord} else if (output_value! = 950) {SendSMS6 (); // SMS til våd jord}} ugyldig SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("Temp High"); Serial.print ("Temp"); Serielt tryk (temperatur); Serial.println ("grad C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("temperatur"); lcd.setCursor (0, 1); lcd.print (temperatur); lcd.write (1); lcd.print ("C"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); tempflag = 1; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("Temp Low"); Serial.print ("Temp"); Serielt tryk (temperatur); Serial.println ("grad C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Lav"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("temperatur"); lcd.setCursor (0, 1); lcd.print (temperatur); lcd.write (1); lcd.print ("C"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); tempflag = 0; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("høj luftfugtighed"); Serielt tryk (fugtighed); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("høj luftfugtighed"); forsinkelse (1000); lcd.setCursor (0, 1); lcd.print ("Fugtighed"); lcd.print (fugtighed); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); humflag = 1; check = 0; test = 0; forsinkelse (10); }}

ugyldig SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("Lav luftfugtighed"); Serial.print ("Fugtighed"); Serielt tryk (fugtighed); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Lav luftfugtighed"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fugtighed"); lcd.setCursor (0, 1); lcd.print (fugtighed); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); humflag = 0; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // For at sende SMS i forsinkelse i teksttilstand (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Skift til destinationens telefonnummerforsinkelse (500); Serial.print ("Godt LYS"); Serial.print ("Intensitet"); Seriel.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // stoptegnet Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Godt lys"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensitet"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); lightflag = 1; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("LAVT LYS"); Serial.print ("Intensitet"); Seriel.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Svagt lys"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensitet"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); lightflag = 0; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS6 () {if (soilflag == 0) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("tør jord"); Serial.print ("Fugt"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("tør jord"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fugt"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); jordflag = 1; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS7 () {if (soilflag == 1) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("våd jord"); Serial.print ("Fugt"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("våd jord"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fugt"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); jordflag = 0; check = 0; test = 0; forsinkelse (10); }}

Anbefalede: