Innholdsfortegnelse:

Anleggsovervåking med SMS -varsel: 5 trinn
Anleggsovervåking med SMS -varsel: 5 trinn

Video: Anleggsovervåking med SMS -varsel: 5 trinn

Video: Anleggsovervåking med SMS -varsel: 5 trinn
Video: История крушения Кольской нефтяной платформы. 2024, November
Anonim
Anleggsovervåking med SMS -varsel
Anleggsovervåking med SMS -varsel

Her lager jeg planteovervåking med SMS -varsel. Server er ikke nødvendig for dette varslingssystemet. Det er et veldig billig og pålitelig prosjekt.

Trinn 1: Blokkdiagram av systemet

Blokkediagram over systemet
Blokkediagram over systemet

I dagens drivhus er det nødvendig med mange parametermålinger

å overvåke og kontrollere for plantens gode kvalitet og produktivitet. Men for å få de ønskede resultatene er det noen svært viktige faktorer som spiller inn som temperatur, fuktighet, lys og god jord, som er nødvendige for en bedre plantevekst. Med tanke på disse parameterne har jeg bygget et automatisk planteovervåkingssystem over GSM -modul ved hjelp av Arduino. Dette systemet er veldig effektivt for dyrking av planter av god kvalitet. Den andre viktige delen av dette prosjektet er at det er helautomatisk og fungerer på lavspenning som; 5-12V DC forsyning.

Nå i dag er GSM -modul mye brukt for å sende SMS -status for alle typer data. Her i dette prosjektet kan vi ved å bruke SIM900A GSM -modul beholde informasjon om klimaeffekter på planter. Systemet skal også demonstrere klimaendringer som påvirker anlegget i produktivitet og kvalitet osv. Hovedhensikten med dette prosjektet er å bygge en automatisk planteovervåking der GSM -modul sender informasjon om temperatur, fuktighet, lysintensitet, jord. fuktighet.

Fordi jeg er indisk statsborger, brukte jeg SIM900A (A står for asiatisk nettverk) -modul, men du kan bruke en annen type SIM -modul i henhold til landet ditt. AT -kodene kan variere.

Trinn 2: Komponentdetaljer

Komponentdetaljer
Komponentdetaljer
Komponentdetaljer
Komponentdetaljer
Komponentdetaljer
Komponentdetaljer

------------------ Jeg måler fire typer parametere som går

å diskutere nedenfor: ------------------

Temperatur og fuktighet

DHT11 -sensoren brukes til å registrere temperatur og fuktighet. Når temperaturen og fuktigheten er høy, er roten av planter skadet og plantens vekst ikke bra.

Lysintensitet

Lysintensitet er en viktig faktor for planteveksten. For å oppdage lysintensitet brukes LDR (lysavhengig motstand). Lysintensitet måles i LUX, og derfor brukes 100 LUX lys som demonstrasjon eller terskelnivå.

Jordfuktighet

Jordfuktighetsinnhold er svært viktig for god vekst av planter. Her brukes Jordføler til å måle fuktighetsinnhold i Jord. Ved å bruke denne sensoren kan vi måle jorddata på begge måter, både analoge og digitale.

SMS -melding:

Når verdien av noen av parametrene ovenfor overskrides fra et definert nivå eller kritisk nivå, sender systemet automatisk SMS til eieren eller operatøren med informasjon om relaterte parametere og når verdien kommer i normalt område eller under det definerte nivået igjen, vil systemet automatisk sende SMS til eieren eller operatøren med informasjon om relaterte data.

Meldingen sendes bare én gang til tilstanden ikke endres, slik at eieren eller operatøren ikke får hyppig SMS. Derfor kreves lavere SMS -pakke.

Trinn 3: Kretsdiagram

Kretsdiagram
Kretsdiagram

Alle disse delene er lett tilgjengelige på alle nettbutikker

eller hos en kjent elektronikk-reservedelsforhandler. Alle databladene for komponenter er tilgjengelige på nettet. Hvis du har problemer, kan du kontakte meg på mailen.

Trinn 4: Arbeidsvideo og kodefil

Endelig arbeidsvideo av prosjektet

Trinn 5: Code of Programe

#inkludere

#inkludere

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

dht DHT; #define dht_dpin A1 #define LUX A0 #definere jord A3

flyte volt, lux, verdi; int output_value; int temperatur, fuktighet; int lightflag = 0; int humflag = 0; int jordflagg = 0; int tempflag = 0; int sjekk; int test, test1; bytegrad [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

ugyldig oppsett ()

{Serial.begin (9600); // Initialiser serie for å kommunisere med GSM -modem lcd.begin (16, 2); pinMode (jord, INNGANG); lcd.createChar (1, grad); lcd.setCursor (0, 0); lcd.print ("Plantehelse"); 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 ("Av S K CHHAYA"); forsinkelse (1000); lcd.clear (); } void loop () {output_value = analogRead (jord); utgangsverdi = kart (utgangsverdi, 550, 0, 0, 100); verdi = analogRead (LUX); volt = (verdi / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; forsinkelse (10000); // Gi nok tid til at GSM kan registrere seg på nettverket 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 ("Fuktighet"); lcd.setCursor (0, 1); lcd.print (fuktighet = DHT. fuktighet); // Fuktighetsdata 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 ("Fuktighet"); lcd.setCursor (0, 1); lcd.print (utgangsverdi); // Jorddata på LCD lcd.print (" %"); forsinkelse (1000); lcd.clear ();

if (temperatur 40) {SendSMS (); // SMS for Temp high} if (fuktighet 40) {SendSMS2 (); // SMS for høy luftfuktighet} if (lux 100) {SendSMS4 (); // SMS for Light high} if (output_value == 950) {SendSMS7 (); // SMS for tørr jord} else if (output_value! = 950) {SendSMS6 (); // SMS for våt 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"); Serial.print (temperatur); Serial.println ("grad C"); Serial.println ((røyke) 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; sjekk = 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"); Serial.print (temperatur); Serial.println ("grad C"); Serial.println ((røyke) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); 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; sjekk = 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øy luftfuktighet"); Serial.print (fuktighet); Serial.println (" %"); Serial.println ((røyke) 26); lcd.setCursor (0, 0); lcd.print ("høy luftfuktighet"); forsinkelse (1000); lcd.setCursor (0, 1); lcd.print ("Fuktighet"); lcd.print (fuktighet); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); humflag = 1; sjekk = 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 luftfuktighet"); Serial.print ("Fuktighet"); Serial.print (fuktighet); Serial.println (" %"); Serial.println ((røyke) 26); lcd.setCursor (0, 0); lcd.print ("Lav luftfuktighet"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fuktighet"); lcd.setCursor (0, 1); lcd.print (fuktighet); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); humflag = 0; sjekk = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // For å sende SMS i tekstmodusforsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Bytt til destinasjon telefonnummer forsinkelse (500); Serial.print ("godt lys"); Serial.print ("Intensitet"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((røyke) 26); // stoppetegnet 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; sjekk = 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"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((røyke) 26); lcd.setCursor (0, 0); lcd.print ("Svakt 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; sjekk = 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ørr jord"); Serial.print ("Fuktighet"); Serial.print (output_value); Serial.println (" %"); Serial.println ((røyke) 26); lcd.setCursor (0, 0); lcd.print ("tørr jord"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fuktighet"); lcd.setCursor (0, 1); lcd.print (utgangsverdi); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); jordflagg = 1; sjekk = 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åt jord"); Serial.print ("Fuktighet"); Serial.print (output_value); Serial.println (" %"); Serial.println ((røyke) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("våt jord"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fuktighet"); lcd.setCursor (0, 1); lcd.print (utgangsverdi); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); jordflagg = 0; sjekk = 0; test = 0; forsinkelse (10); }}

Anbefalt: