Obsah:

Monitorovanie závodu s upozornením SMS: 5 krokov
Monitorovanie závodu s upozornením SMS: 5 krokov

Video: Monitorovanie závodu s upozornením SMS: 5 krokov

Video: Monitorovanie závodu s upozornením SMS: 5 krokov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Monitorovanie závodu s upozornením SMS
Monitorovanie závodu s upozornením SMS

Tu vytváram monitorovanie závodu s upozornením SMS. Server nie je pre tento výstražný systém potrebný. Je to veľmi lacný a spoľahlivý projekt.

Krok 1: Blokový diagram systému

Blokový diagram systému
Blokový diagram systému

V dnešných skleníkoch je potrebných veľa meraní parametrov

monitorovať a kontrolovať dobrú kvalitu a produktivitu rastlín. Aby sa však dosiahli požadované výsledky, vstupuje do hry niekoľko veľmi dôležitých faktorov, ako je teplota, vlhkosť, svetlo a dobrá pôda, ktoré sú nevyhnutné pre lepší rast rastlín. S ohľadom na tieto parametre som vybudoval automatický monitorovací systém rastlín cez modul GSM pomocou Arduina. Tento systém je veľmi účinný pri pestovaní rastlín dobrej kvality. Ďalšou dôležitou súčasťou tohto projektu je, že je plne automatický a pracuje na nízkom napätí; Napájanie 5-12 V DC.

Modul GSM sa dnes bežne používa na odosielanie stavov SMS akéhokoľvek druhu údajov. Tu v tomto projekte pomocou GSM modulu SIM900A môžeme uchovávať informácie o vplyvoch podnebia na rastliny. Systém musí tiež demonštrovať klimatické zmeny, ktoré ovplyvňujú závod v jeho produktivite a kvalite atď. Hlavným účelom tohto projektu je vybudovať automatické monitorovanie závodu, v ktorom modul GSM odosiela informácie o teplote, vlhkosti, intenzite svetla a pôde. vlhkosť.

Pretože som indický občan, používam modul SIM900A (A je skratka pre ázijskú sieť), ale podľa vašej krajiny môžete použiť iný druh modulu SIM. AT kódy sa môžu líšiť.

Krok 2: Detail komponentu

Detail komponentu
Detail komponentu
Detail komponentu
Detail komponentu
Detail komponentu
Detail komponentu

------------------ Meriam štyri typy parametrov, ktoré idú

diskutovať nižšie: ------------------

Teplota a vlhkosť

Senzor DHT11 slúži na snímanie teploty a vlhkosti. Keď je teplota a vlhkosť vysoká, koreň rastlín je poškodený a rast rastlín nie je dobrý.

Ľahká intenzita

Intenzita svetla je dôležitým faktorom pre rast rastlín. Na detekciu intenzity svetla sa používa LDR (svetlo závislý odpor). Intenzita svetla sa meria v LUX a preto sa na ukážku používa 100 LUX svetlo ako definovaná alebo prahová úroveň.

Vhlkosť pôdy

Obsah vlhkosti v pôde je veľmi dôležitý pre dobrý rast rastlín. Tu sa snímač pôdy používa na meranie obsahu vlhkosti v pôde. Pomocou tohto senzora môžeme merať údaje o pôde obojsmerne, analógovo aj digitálne.

SMS upozornenie:

Keď hodnota ktoréhokoľvek z vyššie uvedených parametrov prekročí z definovanej úrovne alebo kritickej úrovne, systém automaticky pošle SMS vlastníkovi alebo operátorovi s informáciou o súvisiacich parametroch a keď sa hodnota opäť dostane do normálneho rozsahu alebo pod definovanú úroveň, systém automaticky posielať SMS vlastníkovi alebo operátorovi s informáciou o súvisiacich údajoch.

Oznámenie sa odosiela iba raz, kým sa stav nezmení, takže vlastník alebo operátor nedostáva časté SMS. Preto je potrebný nižší balík SMS.

Krok 3: Schéma zapojenia

Schéma zapojenia
Schéma zapojenia

Tieto všetky diely sú ľahko dostupné na akomkoľvek online nákupnom serveri

alebo u známeho predajcu náhradných dielov pre elektroniku. Všetky listy s komponentmi sú dostupné na internete. V prípade akýchkoľvek problémov ma kontaktujte na môj mail.

Krok 4: Fungovanie súboru videa a kódu

Záverečné pracovné video projektu

Krok 5: Programový kód

#zahrnúť

#zahrnúť

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

dht DHT; #define dht_dpin A1 #define LUX A0 #definovať pôdu A3

float volt, lux, hodnota; int výstupná_hodnota; vnútorná teplota, vlhkosť; int lightflag = 0; int humflag = 0; int pôdna vlajka = 0; int tempflag = 0; int kontrola; int test, test1; stupeň bajtu [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

neplatné nastavenie ()

{Serial.begin (9600); // Inicializácia seriálu na komunikáciu s GSM modemom lcd.begin (16, 2); pinMode (pôda, VSTUP); lcd.createChar (1, stupeň); lcd.setCursor (0, 0); lcd.print („zdravie rastlín“); lcd.setCursor (0, 1); lcd.print („Monitorovanie“); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („PROGRAM AGRI“); lcd.setCursor (0, 1); lcd.print („Od S K CHHAYA“); oneskorenie (1000); lcd.clear (); } void loop () {output_value = analogRead (pôda); výstupná_hodnota = mapa (výstupná_hodnota, 550, 0, 0, 100); hodnota = analogRead (LUX); volt = (hodnota / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; oneskorenie (10 000); // Dajte dostatok času GSM na registráciu v sieti DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("teplota"); lcd.setCursor (0, 1); lcd.print (teplota = teplota DHT); // Tepelné údaje na LCD lcd.write (1); lcd.print ("C"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Vlhkosť“); lcd.setCursor (0, 1); lcd.print (vlhkosť = DHT. vlhkosť); // Údaje o vlhkosti na LCD lcd.print (" %"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („svetlo“); lcd.setCursor (0, 1); lcd.print (lux); // Svetelné údaje na LCD lcd.print ("LUM"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („vlhkosť“); lcd.setCursor (0, 1); lcd.print (výstupná_hodnota); // Údaje o pôde na LCD lcd.print (" %"); oneskorenie (1000); lcd.clear ();

if (teplota 40) {SendSMS (); // SMS pre vysokú teplotu} if (vlhkosť 40) {SendSMS2 (); // SMS pre vysokú vlhkosť} if (lux 100) {SendSMS4 (); // SMS pre mierne vysokú} if (výstupná_hodnota == 950) {SendSMS7 (); // SMS pre suchú pôdu} else if (output_value! = 950) {SendSMS6 (); // SMS pre mokrú pôdu}} neplatné SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); oneskorenie (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); oneskorenie (500); Serial.print („Vysoká teplota“); Serial.print ("Teplota"); Sériový tlač (teplota); Serial.println ("stupeň C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Vysoká teplota"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („teplota“); lcd.setCursor (0, 1); lcd.print (teplota); lcd.write (1); lcd.print ("C"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odosielanie SMS"); oneskorenie (1000); lcd.clear (); tempflag = 1; kontrola = 0; test = 0; oneskorenie (10); }} neplatné SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); oneskorenie (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); oneskorenie (500); Serial.print („Nízka teplota“); Serial.print ("Teplota"); Sériový tlač (teplota); Serial.println ("stupeň C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („teplota“); lcd.setCursor (0, 1); lcd.print (teplota); lcd.write (1); lcd.print ("C"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odosielanie SMS"); oneskorenie (1000); lcd.clear (); tempflag = 0; kontrola = 0; test = 0; oneskorenie (10); }} neplatné SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); oneskorenie (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); oneskorenie (500); Serial.print („Vysoká vlhkosť“); Sériový tlač (vlhkosť); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Vysoká vlhkosť“); oneskorenie (1000); lcd.setCursor (0, 1); lcd.print („Vlhkosť“); lcd.print (vlhkosť); lcd.print (" %"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Odosielanie SMS“); oneskorenie (1000); lcd.clear (); humflag = 1; kontrola = 0; test = 0; oneskorenie (10); }}

zrušiť SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); oneskorenie (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); oneskorenie (500); Serial.print („Nízka vlhkosť“); Serial.print („Vlhkosť“); Sériový tlač (vlhkosť); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („nízka vlhkosť“); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Vlhkosť“); lcd.setCursor (0, 1); lcd.print (vlhkosť); lcd.print (" %"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odosielanie SMS"); oneskorenie (1000); lcd.clear (); humflag = 0; kontrola = 0; test = 0; oneskorenie (10); }} neplatné SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Odoslanie SMS v oneskorení textového režimu (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Zmena meškania na cieľové telefónne číslo (500); Serial.print („Dobré SVETLO“); Serial.print ("Intenzita"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // znak zastavenia Ctrl+Z lcd.setCursor (0, 0); lcd.print („Dobré svetlo“); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Intenzita“); lcd.setCursor (0, 1); lcd.print (lux); lcd.print („LUX“); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odosielanie SMS"); oneskorenie (1000); lcd.clear (); svetelná vlajka = 1; kontrola = 0; test = 0; oneskorenie (10); }} neplatné SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); oneskorenie (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); oneskorenie (500); Serial.print („NÍZKE SVETLO“); Serial.print ("Intenzita"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („slabé svetlo“); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Intenzita“); lcd.setCursor (0, 1); lcd.print (lux); lcd.print („LUX“); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odosielanie SMS"); oneskorenie (1000); lcd.clear (); lightflag = 0; kontrola = 0; test = 0; oneskorenie (10); }} neplatné SendSMS6 () {if (pollflag == 0) {Serial.println ("AT+CMGF = 1"); oneskorenie (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); oneskorenie (500); Serial.print („Suchá pôda“); Serial.print („vlhkosť“); Serial.print (výstupná_hodnota); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („suchá pôda“); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („vlhkosť“); lcd.setCursor (0, 1); lcd.print (výstupná_hodnota); lcd.print (" %"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Odosielanie SMS“); oneskorenie (1000); lcd.clear (); pôdna vlajka = 1; kontrola = 0; test = 0; oneskorenie (10); }} neplatné SendSMS7 () {if (earthflag == 1) {Serial.println ("AT+CMGF = 1"); oneskorenie (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); oneskorenie (500); Serial.print („mokrá pôda“); Serial.print („vlhkosť“); Serial.print (výstupná_hodnota); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print („mokrá pôda“); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („vlhkosť“); lcd.setCursor (0, 1); lcd.print (výstupná_hodnota); lcd.print (" %"); oneskorenie (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Odosielanie SMS“); oneskorenie (1000); lcd.clear (); pôdna vlajka = 0; kontrola = 0; test = 0; oneskorenie (10); }}

Odporúča: