Sadržaj:

Nadzor postrojenja s SMS upozorenjem: 5 koraka
Nadzor postrojenja s SMS upozorenjem: 5 koraka

Video: Nadzor postrojenja s SMS upozorenjem: 5 koraka

Video: Nadzor postrojenja s SMS upozorenjem: 5 koraka
Video: Место, ГДЕ случилась КРУПНЕЙШАЯ техногеннная КАТАСТРОФА ☢️ БЩУ-4 на ЧЕРНОБЫЛЬСКОЙ АЭС ☢️ 2024, Srpanj
Anonim
Nadzor postrojenja s SMS upozorenjem
Nadzor postrojenja s SMS upozorenjem

Ovdje stvaram nadzor postrojenja sa SMS upozorenjem. Poslužitelj nije potreban za ovaj sustav upozorenja. To je vrlo jeftin i pouzdan projekt.

Korak 1: Blok dijagram sustava

Blok dijagram sustava
Blok dijagram sustava

U današnjim staklenicima potrebna su mnoga mjerenja parametara

pratiti i kontrolirati dobru kvalitetu i produktivnost biljaka. No za postizanje željenih rezultata u obzir dolaze neki vrlo važni čimbenici poput temperature, vlažnosti, svjetlosti i dobrog tla, koji su neophodni za bolji rast biljaka. Imajući ove parametre na umu, izgradio sam Automatski sustav nadziranja postrojenja preko GSM modula pomoću Arduina. Ovaj sustav je vrlo učinkovit za uzgoj biljaka dobre kvalitete. Drugi važan dio ovog projekta je da je potpuno automatski i radi na niskom naponu; 5-12V istosmjerno napajanje.

Danas se GSM modul naširoko koristi za slanje SMS statusa bilo koje vrste podataka. Ovdje u ovom projektu pomoću SIM900A GSM modula možemo čuvati informacije o utjecaju klime na biljke. Sustav će također pokazati klimatske promjene koje utječu na biljku u njenoj produktivnosti i kvaliteti itd. Glavna svrha ovog projekta je izgradnja automatskog nadzora postrojenja u kojem GSM modul šalje informacije o temperaturi, vlažnosti, intenzitetu svjetlosti, tlu vlage.

Budući da sam indijski državljanin, koristio sam modul SIM900A (A je kratica za azijsku mrežu), ali možete koristiti različite vrste SIM modula prema vašoj zemlji. AT kodovi mogu se razlikovati.

Korak 2: Detalji o komponentama

Pojedinosti o komponentama
Pojedinosti o komponentama
Pojedinosti o komponentama
Pojedinosti o komponentama
Pojedinosti o komponentama
Pojedinosti o komponentama

------------------ Ja mjerim četiri vrste parametara, koji idu

za raspravu u nastavku: ------------------

Temperatura i vlažnost

Senzor DHT11 služi za mjerenje temperature i vlažnosti. Kad su temperatura i vlažnost visoke, korijen biljaka je oštećen, a rast biljke nije dobar.

Intenzitet svjetla

Intenzitet svjetla važan je čimbenik za rast biljaka. Za detekciju intenziteta svjetlosti koristi se LDR (otpor ovisan o svjetlu). Intenzitet svjetlosti mjeri se u LUX -u, pa se za demonstraciju koristi 100 LUX svjetla kao definirana ili granična razina.

Vlažnost tla

Sadržaj vlage u tlu vrlo je važan za dobar rast biljaka. Ovdje se senzor tla koristi za mjerenje sadržaja vlage u tlu. Pomoću ovog senzora možemo mjeriti podatke o tlu na oba načina, analogni i digitalni.

SMS obavijest:

Kada vrijednost bilo kojeg od gore navedenih parametara premaši definiranu razinu ili kritičnu razinu, sustav automatski šalje SMS vlasniku ili operateru s podacima o srodnim parametrima, a kada vrijednost dođe u normalni raspon ili ispod definirane razine, sustav automatski pošaljite SMS vlasniku ili operatoru s podacima o srodnim podacima.

Obavijest se šalje samo jednom dok se uvjet ne promijeni pa vlasnik ili operater nemaju česte SMS poruke. Stoga je potreban niži SMS paket.

Korak 3: Dijagram kruga

Kružni dijagram
Kružni dijagram

Svi ti dijelovi lako su dostupni na bilo kojem mjestu za kupnju na mreži

ili kod poznatog trgovca rezervnim dijelovima elektronike. Tehnički listovi svih komponenti dostupni su na webu. Ako imate poteškoća, slobodno mi se obratite na moj mail.

Korak 4: Radni video zapis i datoteka koda

Završni radni video projekta

Korak 5: Kodeks programa

#uključi

#uključi

LCD tekući kristal (2, 3, 4, 5, 6, 7);

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

plivajući volt, lux, vrijednost; int output_value; int temperatura, vlažnost; int lightflag = 0; int humflag = 0; int groundflag = 0; int tempflag = 0; int provjera; int test, test1; stupanj bajta [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

void setup ()

{Serial.begin (9600); // Pokretanje serijske veze za komunikaciju s GSM modemom lcd.begin (16, 2); pinMode (tlo, ULAZ); lcd.createChar (1, stupanj); lcd.setCursor (0, 0); lcd.print ("Zdravlje biljaka"); lcd.setCursor (0, 1); lcd.print ("Monitering"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJECT"); lcd.setCursor (0, 1); lcd.print ("Autor S K CHHAYA"); kašnjenje (1000); lcd.clear (); } void loop () {output_value = analogRead (tlo); output_value = karta (output_value, 550, 0, 0, 100); vrijednost = analogno čitanje (LUX); volt = (vrijednost / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; kašnjenje (10000); // Dajte dovoljno vremena GSM -u da se registrira na mreži DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.tisak (temperatura = DHT.temperatura); // Podaci o tempu na LCD lcd.write (1); lcd.print ("C"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vlažnost"); lcd.setCursor (0, 1); lcd.tisak (vlažnost = DHT. vlažnost); // Podaci o vlažnosti na LCD lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Svjetlo"); lcd.setCursor (0, 1); lcd.tisak (lux); // Podaci o svjetlu na LCD lcd.print ("LUM"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vlaga"); lcd.setCursor (0, 1); lcd.print (vrijednost_izlaza); // Podaci o tlu na LCD lcd.print (" %"); kašnjenje (1000); lcd.clear ();

if (temperatura 40) {SendSMS (); // SMS za visoku temperaturu} if (vlažnost 40) {SendSMS2 (); // SMS za visoku vlažnost} if (lux 100) {SendSMS4 (); // SMS za Light high} if (output_value == 950) {SendSMS7 (); // SMS za suho tlo} else if (output_value! = 950) {SendSMS6 (); // SMS za mokro tlo}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Visoka temperatura"); Serial.print ("Temp"); Serijski.tisak (temperatura); Serial.println ("stupanj C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp. visoka"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); lcd.tisak (temperatura); lcd.write (1); lcd.print ("C"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); tempflag = 1; ček = 0; test = 0; kašnjenje (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Niska temp."); Serial.print ("Temp"); Serijski.tisak (temperatura); Serial.println ("stupanj C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temperatura niska"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); lcd.tisak (temperatura); lcd.write (1); lcd.print ("C"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); tempflag = 0; ček = 0; test = 0; kašnjenje (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Visoka vlažnost"); Serijski.tisak (vlažnost); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Visoka vlažnost"); kašnjenje (1000); lcd.setCursor (0, 1); lcd.print ("Vlažnost"); lcd.tisak (vlažnost); lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); humflag = 1; ček = 0; test = 0; kašnjenje (10); }}

void SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Niska vlažnost",); Serial.print ("Vlažnost"); Serijski.tisak (vlažnost); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Niska vlažnost"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vlažnost"); lcd.setCursor (0, 1); lcd.tisak (vlažnost); lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); humflag = 0; ček = 0; test = 0; kašnjenje (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Za slanje SMS -a u tekstualnom modu kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Promjena kašnjenja telefonskog broja odredišta (500); Serial.print ("Good LIGHT",); Serial.print ("Intenzitet"); Serijski.tisak (lux); Serial.println ("LUX"); Serial.println ((char) 26); // znak za zaustavljanje Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Dobro svjetlo"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intenzitet"); lcd.setCursor (0, 1); lcd.tisak (lux); lcd.print ("LUX"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); svjetlosna zastavica = 1; ček = 0; test = 0; kašnjenje (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("LOW LIGHT",)); Serial.print ("Intenzitet"); Serijski.tisak (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Slabo osvjetljenje"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intenzitet"); lcd.setCursor (0, 1); lcd.tisak (lux); lcd.print ("LUX"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); svjetlosna zastavica = 0; ček = 0; test = 0; kašnjenje (10); }} void SendSMS6 () {if (groundflag == 0) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Suho tlo"); Serial.print ("Vlaga"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Suho tlo"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vlaga"); lcd.setCursor (0, 1); lcd.print (vrijednost_izlaza); lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); zemljana zastava = 1; ček = 0; test = 0; kašnjenje (10); }} void SendSMS7 () {if (groundflag == 1) {Serial.println ("AT+CMGF = 1"); kašnjenje (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kašnjenje (500); Serial.print ("Mokro tlo"); Serial.print ("Vlaga"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Mokro tlo"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vlaga"); lcd.setCursor (0, 1); lcd.print (vrijednost_izlaza); lcd.print (" %"); kašnjenje (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Slanje SMS -a"); kašnjenje (1000); lcd.clear (); zemljana zastava = 0; ček = 0; test = 0; kašnjenje (10); }}

Preporučeni: