Obsah:

Monitorování závodu pomocí SMS upozornění: 5 kroků
Monitorování závodu pomocí SMS upozornění: 5 kroků

Video: Monitorování závodu pomocí SMS upozornění: 5 kroků

Video: Monitorování závodu pomocí SMS upozornění: 5 kroků
Video: 7 funkcí, které musí Samsung uživatelé znát. 2024, Listopad
Anonim
Monitorování závodu pomocí SMS upozornění
Monitorování závodu pomocí SMS upozornění

Zde vytvářím monitorování závodu pomocí upozornění SMS. Server není pro tento výstražný systém vyžadován. Je to velmi levný a spolehlivý projekt.

Krok 1: Blokový diagram systému

Blokové schéma systému
Blokové schéma systému

V dnešních sklenících je zapotřebí mnoho měření parametrů

monitorovat a kontrolovat dobrou kvalitu a produktivitu závodů. K dosažení požadovaných výsledků však vstupuje do hry několik velmi důležitých faktorů, jako je teplota, vlhkost, světlo a dobrá půda, které jsou nezbytné pro lepší růst rostlin. S ohledem na tyto parametry jsem vybudoval automatický monitorovací systém rostlin přes modul GSM pomocí Arduina. Tento systém je velmi účinný pro pěstování kvalitních rostlin. Další důležitou součástí tohoto projektu je, že je plně automatický a pracuje na nízkém napětí; Napájení 5-12 V DC.

Modul GSM je dnes široce používán pro odesílání stavu SMS jakéhokoli druhu dat. Zde v tomto projektu pomocí GSM modulu SIM900A můžeme uchovávat informace o účincích klimatu na rostliny. Systém musí také demonstrovat klimatické změny, které ovlivňují závod v jeho produktivitě a kvalitě atd. Hlavním účelem tohoto projektu je vybudovat automatické monitorování závodu, ve kterém modul GSM zasílá informace o teplotě, vlhkosti, intenzitě světla, půdě vlhkost.

Protože jsem indický občan, používám modul SIM900A (A je zkratka pro asijskou síť), ale můžete použít jiný druh modulu SIM podle vaší země. AT kódy se mohou lišit.

Krok 2: Detail součásti

Detail součásti
Detail součásti
Detail součásti
Detail součásti
Detail součásti
Detail součásti

------------------ Měřím čtyři typy parametrů, které jdou

k diskusi níže: ------------------

Teplota a vlhkost

Senzor DHT11 slouží ke snímání teploty a vlhkosti. Když je teplota a vlhkost vysoká, kořen rostlin se poškodí a růst rostliny není dobrý.

Intenzita světla

Intenzita světla je důležitým faktorem pro růst rostlin. K detekci intenzity světla se používá LDR (Light dependent resistor). Intenzita světla se měří v LUX, a proto se pro demonstraci používá 100 LUX světla jako definovaná nebo prahová úroveň.

Vlhkost půdy

Obsah vlhkosti v půdě je velmi důležitý pro dobrý růst rostlin. Zde se snímač půdy používá k měření obsahu vlhkosti v půdě. Pomocí tohoto senzoru můžeme měřit data o půdě obousměrně, analogově i digitálně.

SMS upozornění:

Pokud je hodnota některého z výše uvedených parametrů překročena z definované úrovně nebo kritické úrovně, systém automaticky odešle SMS majiteli nebo operátorovi s informacemi o souvisejících parametrech a když se hodnota dostane do normálního rozsahu nebo pod definovanou úroveň, systém automaticky zasílat SMS majiteli nebo provozovateli s informacemi o souvisejících datech.

Oznámení se odesílá pouze jednou, dokud se stav nezmění, takže vlastník nebo operátor nebude dostávat časté SMS. Proto je vyžadován nižší balíček SMS.

Krok 3: Schéma zapojení

Kruhový diagram
Kruhový diagram

Tyto všechny části jsou snadno dostupné na jakémkoli online nákupním webu

nebo u známého prodejce náhradních dílů pro elektroniku. Všechny komponenty datových listů jsou k dispozici na webu. V případě jakýchkoli potíží neváhejte kontaktovat můj mail.

Krok 4: Práce se souborem videa a kódu

Závěrečné pracovní video projektu

Krok 5: Programový kód

#zahrnout

#zahrnout

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

dht DHT; #define dht_dpin A1 #define LUX A0 #definovat půdu A3

float volt, lux, hodnota; int výstupní_hodnota; vnitřní teplota, vlhkost; int lightflag = 0; int humflag = 0; int earthflag = 0; int tempflag = 0; int kontrola; int test, test1; stupeň bajtu [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

neplatné nastavení ()

{Serial.begin (9600); // Inicializace seriálu pro komunikaci s GSM modemem lcd.begin (16, 2); pinMode (půda, VSTUP); lcd.createChar (1, stupeň); lcd.setCursor (0, 0); lcd.print („zdraví rostlin“); lcd.setCursor (0, 1); lcd.print („sledování“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („PROJEKT AGRI“); lcd.setCursor (0, 1); lcd.print („Od S K CHHAYA“); zpoždění (1000); lcd.clear (); } void loop () {output_value = analogRead (půda); output_value = mapa (output_value, 550, 0, 0, 100); hodnota = analogRead (LUX); volt = (hodnota / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; zpoždění (10 000); // Dejte GSM dost času na registraci v síti DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (teplota = teplota DHT); // Teplotní data na LCD lcd.write (1); lcd.print ("C"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Vlhkost“); lcd.setCursor (0, 1); lcd.print (vlhkost = DHT.vlhkost); // Údaje o vlhkosti na LCD lcd.print (" %"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Světlo"); lcd.setCursor (0, 1); lcd.print (lux); // Světelná data na LCD lcd.print ("LUM"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („vlhkost“); lcd.setCursor (0, 1); lcd.print (výstupní_hodnota); // Půdní data na LCD lcd.print (" %"); zpoždění (1000); lcd.clear ();

if (teplota 40) {SendSMS (); // SMS pro Temp high} if (vlhkost 40) {SendSMS2 (); // SMS pro vysokou vlhkost} if (lux 100) {SendSMS4 (); // SMS pro Light high} if (output_value == 950) {SendSMS7 (); // SMS pro suchou půdu} else if (output_value! = 950) {SendSMS6 (); // SMS pro mokrou půdu}} neplatné SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print ("Vysoká teplota"); Serial.print ("Temp"); Sériový tisk (teplota); Serial.println ("stupeň C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („teplota“); lcd.setCursor (0, 1); lcd.print (teplota); lcd.write (1); lcd.print ("C"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); tempflag = 1; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print ("Temp Low,"); Serial.print ("Temp"); Sériový tisk (teplota); Serial.println ("stupeň C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („teplota“); lcd.setCursor (0, 1); lcd.print (teplota); lcd.write (1); lcd.print ("C"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); tempflag = 0; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print („Vysoká vlhkost“); Sériový tisk (vlhkost); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Vysoká vlhkost“); zpoždění (1000); lcd.setCursor (0, 1); lcd.print („Vlhkost“); lcd.print (vlhkost); lcd.print (" %"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); humflag = 1; šek = 0; test = 0; zpoždění (10); }}

zrušit SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print („Nízká vlhkost“); Serial.print („Vlhkost“); Sériový tisk (vlhkost); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Nízká vlhkost“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Vlhkost“); lcd.setCursor (0, 1); lcd.print (vlhkost); lcd.print (" %"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); humflag = 0; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Odeslání SMS v textovém režimu zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Změna zpoždění na cílové telefonní číslo (500); Serial.print („Dobré SVĚTLO“); Serial.print ("Intenzita"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // znak pro zastavení Ctrl+Z lcd.setCursor (0, 0); lcd.print („Dobré světlo“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intenzita"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print („LUX“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); lightflag = 1; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print („NÍZKÉ SVĚTLO“); Serial.print ("Intenzita"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Slabé světlo"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intenzita"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print („LUX“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); lightflag = 0; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS6 () {if (pollflag == 0) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print („suchá půda“); Serial.print („vlhkost“); Serial.print (výstupní_hodnota); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („suchá půda“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („vlhkost“); lcd.setCursor (0, 1); lcd.print (výstupní_hodnota); lcd.print (" %"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); půdní vlajka = 1; šek = 0; test = 0; zpoždění (10); }} neplatné SendSMS7 () {if (pollflag == 1) {Serial.println ("AT+CMGF = 1"); zpoždění (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); zpoždění (500); Serial.print („mokrá půda“); Serial.print („vlhkost“); Serial.print (výstupní_hodnota); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print („mokrá půda“); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („vlhkost“); lcd.setCursor (0, 1); lcd.print (výstupní_hodnota); lcd.print (" %"); zpoždění (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Odesílání SMS"); zpoždění (1000); lcd.clear (); landflag = 0; šek = 0; test = 0; zpoždění (10); }}

Doporučuje: