Sisukord:

Taimeseire SMS -hoiatusega: 5 sammu
Taimeseire SMS -hoiatusega: 5 sammu

Video: Taimeseire SMS -hoiatusega: 5 sammu

Video: Taimeseire SMS -hoiatusega: 5 sammu
Video: TAISERE -Sanino Bless (Official Music Video) 2024, Juuli
Anonim
Taimede seire SMS -hoiatusega
Taimede seire SMS -hoiatusega

Siin loon SMS -märguandega taimede jälgimise. Selle hoiatussüsteemi jaoks pole serverit vaja. See on väga odav ja usaldusväärne projekt.

Samm: blokeerige süsteemi skeem

Süsteemi plokkskeem
Süsteemi plokkskeem

Tänapäeva kasvuhoonetes on vaja teha palju parameetrite mõõtmisi

taimede hea kvaliteedi ja tootlikkuse jälgimiseks ja kontrollimiseks. Soovitud tulemuste saamiseks on aga mõned väga olulised tegurid, nagu temperatuur, niiskus, kerge ja hea muld, mis on vajalikud taimede paremaks kasvuks. Neid parameetreid silmas pidades olen loonud Arduino abil GSM -mooduli kohale automaatse taimeseiresüsteemi. See süsteem on väga tõhus kvaliteetsete taimede kasvatamiseks. Selle projekti teine oluline osa on see, et see on täisautomaatne ja töötab madala pingega; 5-12V alalisvoolu toide.

Tänapäeval kasutatakse GSM -moodulit laialdaselt igasuguste andmete SMS -i saatmiseks. Siin selles projektis saame SIM900A GSM -mooduli abil hoida teavet kliima mõju kohta taimedele. Süsteem näitab ka kliimamuutusi, mis mõjutavad tehast selle tootlikkuses ja kvaliteedis jne. Selle projekti väljatöötamise peamine eesmärk on luua automaatne taimeseire, mille abil GSM -moodul saadab teavet temperatuuri, niiskuse, valguse intensiivsuse, pinnase kohta niiskus.

Kuna olen India kodanik, kasutasin SIM900A (A tähistab Aasia võrku) moodulit, kuid saate oma riigi jaoks kasutada erinevat tüüpi SIM -mooduleid. AT -koodid võivad erineda.

2. samm: komponendi üksikasjad

Komponendi detail
Komponendi detail
Komponendi detail
Komponendi detail
Komponendi detail
Komponendi detail

------------------ Mõõdan nelja tüüpi parameetreid, mis toimivad

arutada allpool: ------------------

Temperatuur ja niiskus

DHT11 andurit kasutatakse temperatuuri ja niiskuse mõõtmiseks. Kui temperatuur ja niiskus on kõrged, on taime juur kahjustatud ja taime kasv halvasti.

Valguse intensiivsus

Valguse intensiivsus on taime kasvu jaoks oluline tegur. Valguse intensiivsuse tuvastamiseks kasutatakse LDR -i (valgusest sõltuv takisti). Valguse intensiivsust mõõdetakse LUX -is ja seetõttu kasutatakse demonstreerimiseks 100 LUX -valgust määratletud või läviväärtusena.

Mulla niiskus

Taimede hea kasvu jaoks on väga oluline mulla niiskus. Siin kasutatakse mullaandurit mulla niiskusesisalduse mõõtmiseks. Selle anduri abil saame mullaandmeid mõõta mõlemal viisil, nii analoogselt kui ka digitaalselt.

SMS -märguanne:

Kui mõne ülaltoodud parameetri väärtus ületab määratletud taseme või kriitilise taseme, saadab süsteem omanikule või operaatorile automaatselt SMS -i, mis sisaldab teavet seotud parameetrite kohta, ja kui väärtus jõuab uuesti normaalsesse vahemikku või alla selle, siis süsteem automaatselt saata omanikule või operaatorile SMS koos vastavate andmetega.

Teade saadetakse ainult üks kord, kuni tingimus ei muutu, nii et omanik või operaator ei saa sageli SMS -e. Seetõttu on nõutav madalam SMS -pakett.

Samm: vooluahela skeem

Lülitusskeem
Lülitusskeem

Kõik need osad on hõlpsasti saadaval igal veebipoe saidil

või tuntud elektroonika varuosade edasimüüjaga. Kõik komponentide andmelehed on veebis saadaval. Kui teil on raskusi, võtke julgelt ühendust minu e -posti teel.

Samm 4: Töötage video- ja koodifailiga

Projekti viimane töövideo

Samm: programmikood

#kaasake

#kaasake

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

dht DHT; #define dht_dpin A1 #define LUX A0 #definiseeri pinnas A3

ujuk volt, lux, väärtus; int väljundväärtus; int temperatuur, niiskus; int valguslipp = 0; int humflag = 0; int mullapilt = 0; int tempflag = 0; int kontroll; int test, test1; baitkraad [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

tühine seadistus ()

{Serial.begin (9600); // Initsialiseeri seeria GSM -modemiga suhtlemiseks lcd.begin (16, 2); pinMode (muld, sisend); lcd.createChar (1 kraad); lcd.setCursor (0, 0); lcd.print ("Taimetervis"); lcd.setCursor (0, 1); lcd.print ("Jälgimine"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJEKT"); lcd.setCursor (0, 1); lcd.print ("Autor S K CHHAYA"); viivitus (1000); lcd.clear (); } void loop () {output_value = analogRead (pinnas); väljundväärtus = kaart (väljundväärtus, 550, 0, 0, 100); väärtus = analogRead (LUX); volt = (väärtus / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; viivitus (10000); // Andke GSM -le piisavalt aega võrgus DHT.read11 (dht_dpin) registreerimiseks; lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (temperatuur = DHT.temperatuur); // Temp andmed LCD lcd.write (1); lcd.print ("C"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Niiskus"); lcd.setCursor (0, 1); lcd.print (niiskus = DHT.niiskus); // Niiskuse andmed LCD lcd.print (" %"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Valgus"); lcd.setCursor (0, 1); lcd.print (lux); // Valgusandmed LCD lcd.print ("LUM"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("niiskus"); lcd.setCursor (0, 1); lcd.print (väljundväärtus); // Pinnase andmed LCD lcd.print (" %"); viivitus (1000); lcd.clear ();

kui (temperatuur 40) {SendSMS (); // SMS kõrge temperatuuri jaoks} if (niiskus 40) {SendSMS2 (); // SMS niiskuse kõrge jaoks} if (lux 100) {SendSMS4 (); // SMS heleda kõrge jaoks} if (output_value == 950) {SendSMS7 (); // SMS kuivale pinnasele} else if (output_value! = 950) {SendSMS6 (); // SMS märjale pinnasele}} tühine SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); viivitus (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viivitus (500); Serial.print ("Temperatuur kõrge"); Serial.print ("Temp"); Serial.print (temperatuur); Serial.println ("aste C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temperatuur kõrge"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatuur"); lcd.setCursor (0, 1); lcd.print (temperatuur); lcd.write (1); lcd.print ("C"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -i saatmine"); viivitus (1000); lcd.clear (); templipp = 1; tšekk = 0; test = 0; viivitus (10); }} tühine SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); viivitus (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viivitus (500); Serial.print ("Temp Low"); Serial.print ("Temp"); Serial.print (temperatuur); Serial.println ("aste C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temperatuur madal"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatuur"); lcd.setCursor (0, 1); lcd.print (temperatuur); lcd.write (1); lcd.print ("C"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -i saatmine"); viivitus (1000); lcd.clear (); templipp = 0; tšekk = 0; test = 0; viivitus (10); }} tühine SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); viivitus (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viivitus (500); Serial.print ("Niiskus kõrge"); Serial.print (niiskus); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Niiskus kõrge"); viivitus (1000); lcd.setCursor (0, 1); lcd.print ("Niiskus"); lcd.print (niiskus); lcd.print (" %"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -i saatmine"); viivitus (1000); lcd.clear (); humflag = 1; tšekk = 0; test = 0; viivitus (10); }}

tühine SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); viivitus (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viivitus (500); Serial.print ("Madal niiskus"); Serial.print ("Niiskus"); Serial.print (niiskus); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Madal niiskus"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Niiskus"); lcd.setCursor (0, 1); lcd.print (niiskus); lcd.print (" %"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -i saatmine"); viivitus (1000); lcd.clear (); humflag = 0; tšekk = 0; test = 0; viivitus (10); }} tühine SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // SMS -i saatmiseks tekstirežiimis viivitus (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Sihtkoha telefoninumbri viivitus (500); Serial.print ("Hea LIGHT,"); Serial.print ("Intensity"); Seeriaprint (lux); Serial.println ("LUX"); Serial.println ((char) 26); // peatumismärk Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Hea valgus"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensiivsus"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -i saatmine"); viivitus (1000); lcd.clear (); valguslipp = 1; tšekk = 0; test = 0; viivitus (10); }} tühine SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); viivitus (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viivitus (500); Serial.print ("LOW LIGHT"); Serial.print ("Intensity"); Seeriaprint (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Vähene valgus"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensiivsus"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -i saatmine"); viivitus (1000); lcd.clear (); valguslipp = 0; tšekk = 0; test = 0; viivitus (10); }} tühine SendSMS6 () {if (groundflag == 0) {Serial.println ("AT+CMGF = 1"); viivitus (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viivitus (500); Serial.print ("Kuiv muld"); Serial.print ("Niiskus"); Serial.print (väljundväärtus); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Kuiv muld"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("niiskus"); lcd.setCursor (0, 1); lcd.print (väljundväärtus); lcd.print (" %"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -i saatmine"); viivitus (1000); lcd.clear (); pinnalipp = 1; tšekk = 0; test = 0; viivitus (10); }} tühine SendSMS7 () {if (groundflag == 1) {Serial.println ("AT+CMGF = 1"); viivitus (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viivitus (500); Serial.print ("Märg muld"); Serial.print ("Niiskus"); Serial.print (väljundväärtus); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Märg muld"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("niiskus"); lcd.setCursor (0, 1); lcd.print (väljundväärtus); lcd.print (" %"); viivitus (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -i saatmine"); viivitus (1000); lcd.clear (); pinnalipp = 0; tšekk = 0; test = 0; viivitus (10); }}

Soovitan: