Satura rādītājs:

Augu uzraudzība ar SMS brīdinājumu: 5 soļi
Augu uzraudzība ar SMS brīdinājumu: 5 soļi

Video: Augu uzraudzība ar SMS brīdinājumu: 5 soļi

Video: Augu uzraudzība ar SMS brīdinājumu: 5 soļi
Video: 🔥Седые волосы исчезнут навсегда всего за 4 минуты, 100% эффективность! Без окрашивания 2024, Novembris
Anonim
Augu uzraudzība ar SMS brīdinājumu
Augu uzraudzība ar SMS brīdinājumu

Šeit es izveidoju augu uzraudzību ar SMS brīdinājumu. Šai brīdinājumu sistēmai serveris nav nepieciešams. Tas ir ļoti lēts un uzticams projekts.

1. darbība: bloķējiet sistēmas diagrammu

Sistēmas blokshēma
Sistēmas blokshēma

Mūsdienu siltumnīcās ir nepieciešami daudzi parametru mērījumi

uzraudzīt un kontrolēt augu labo kvalitāti un produktivitāti. Bet, lai iegūtu vēlamos rezultātus, ir jāņem vērā daži ļoti svarīgi faktori, piemēram, temperatūra, mitrums, viegla un laba augsne, kas ir nepieciešami labākai augu augšanai. Paturot prātā šos parametrus, esmu izveidojis automātisku augu uzraudzības sistēmu, izmantojot GSM moduli, izmantojot Arduino. Šī sistēma ir ļoti efektīva kvalitatīvu augu audzēšanai. Otra svarīga šī projekta daļa ir tā, ka tas ir pilnībā automātisks un darbojas ar zemu spriegumu; 5-12V līdzstrāvas padeve.

Mūsdienās GSM moduli plaši izmanto jebkura veida datu sūtīšanai SMS statusā. Šajā projektā, izmantojot SIM900A GSM moduli, mēs varam saglabāt informāciju par klimata ietekmi uz augiem. Sistēmai jāparāda arī klimatiskās izmaiņas, kas ietekmē iekārtas ražīgumu un kvalitāti utt. Galvenais šī projekta izstrādes mērķis ir izveidot automātisku iekārtu monitoringu, kurā GSM modulis nosūta informāciju par temperatūru, mitrumu, gaismas intensitāti, augsni mitrums.

Tā kā esmu Indijas pilsonis, izmantoju SIM900A (A nozīmē Āzijas tīkla) moduli, bet jūs varat izmantot cita veida SIM moduli atbilstoši savai valstij. AT kodi var atšķirties.

2. darbība: detaļas detaļas

Detaļas detaļas
Detaļas detaļas
Detaļas detaļas
Detaļas detaļas
Detaļas detaļas
Detaļas detaļas

------------------ Es mēra četru veidu parametrus, kas notiek

apspriest tālāk: ------------------

Temperatūra un mitrums

DHT11 sensors tiek izmantots temperatūras un mitruma noteikšanai. Ja temperatūra un mitrums ir augsti, augu sakne ir bojāta un auga augšana nav laba.

Gaismas intensitāte

Gaismas intensitāte ir svarīgs faktors augu augšanai. Gaismas intensitātes noteikšanai tiek izmantots LDR (no gaismas atkarīgs rezistors). Gaismas intensitāti mēra LUX, un tāpēc demonstrēšanai 100 LUX gaisma tiek izmantota kā definēts vai sliekšņa līmenis.

Augsnes mitrums

Augsnes mitrumam ir liela nozīme augu labā augšanā. Šeit augsnes sensoru izmanto, lai izmērītu mitruma saturu augsnē. Izmantojot šo sensoru, mēs varam mērīt augsnes datus abos veidos - gan analogos, gan digitālos.

SMS paziņojums:

Ja kāda no iepriekš minētajiem parametriem vērtība pārsniedz noteikto līmeni vai kritisko līmeni, sistēma īpašniekam vai operatoram automātiski nosūta SMS ar informāciju par saistītajiem parametriem, un, ja vērtība atkal ir normālā diapazonā vai zem noteiktā līmeņa, sistēma automātiski nosūtīt īsziņu īpašniekam vai operatoram ar informāciju par saistītajiem datiem.

Paziņojums tiek nosūtīts tikai vienu reizi, līdz nosacījums nemainās, tāpēc īpašnieks vai operators bieži nesaņem īsziņas. Tāpēc ir nepieciešama zemāka SMS pakotne.

3. darbība: shēmas shēma

Ķēdes diagramma
Ķēdes diagramma

Visas šīs detaļas ir viegli pieejamas jebkurā tiešsaistes iepirkšanās vietnē

vai pie pazīstama elektronikas rezerves daļu izplatītāja. Visas komponentu datu lapas ir pieejamas tīmeklī. Ja rodas kādas grūtības, sazinieties ar mani pa pastu.

4. darbība: darba video un koda fails

Projekta pēdējais darba video

5. solis: programmas kods

#iekļaut

#iekļaut

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

dht DHT; #define dht_dpin A1 #definēt LUX A0 #definēt augsni A3

float volt, lux, vērtība; int output_value; int temperatūra, mitrums; int gaismas karogs = 0; int humflag = 0; int augsnes karogs = 0; int tempflag = 0; int pārbaude; int tests, tests1; baitu grāds [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

anulēts iestatījums ()

{Sērijas sākums (9600); // Inicializēt sēriju, lai sazinātos ar GSM modemu lcd.begin (16, 2); pinMode (augsne, IEVADE); lcd.createChar (1 grāds); lcd.setCursor (0, 0); lcd.print ("Augu veselība"); lcd.setCursor (0, 1); lcd.print ("Uzraudzība"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJEKTS"); lcd.setCursor (0, 1); lcd.print ("Autors: S K CHHAYA"); kavēšanās (1000); lcd.clear (); } void loop () {output_value = analogRead (augsne); output_value = karte (output_value, 550, 0, 0, 100); vērtība = analogRead (LUX); volt = (vērtība / 1023,0) * 5; lux = ((2500 / volti) - 500) / 3,3; kavēšanās (10000); // Dodiet pietiekami daudz laika, lai GSM reģistrētos tīklā DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (temperatūra = DHT.temperatūra); // Temp dati uz LCD lcd.write (1); lcd.print ("C"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Mitrums"); lcd.setCursor (0, 1); lcd.print (mitrums = DHT. mitrums); // Mitruma dati LCD lcd.print (" %"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Gaisma"); lcd.setCursor (0, 1); lcd.print (lukss); // Gaismas dati LCD lcd.print ("LUM"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Mitrums"); lcd.setCursor (0, 1); lcd.print (output_value); // Augsnes dati LCD lcd.print (" %"); kavēšanās (1000); lcd.clear ();

ja (temperatūra 40) {SendSMS (); // SMS par augstu temperatūru} if (mitrums 40) {SendSMS2 (); // SMS par augstu mitrumu} if (lux 100) {SendSMS4 (); // SMS par vieglu augstu} if (output_value == 950) {SendSMS7 (); // SMS sausai augsnei} else if (output_value! = 950) {SendSMS6 (); // SMS mitrai augsnei}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); kavēšanās (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kavēšanās (500); Serial.print ("Temp High"); Serial.print ("Temp"); Sērijas nospiedums (temperatūra); Sērijas.println ("C pakāpe"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatūra"); lcd.setCursor (0, 1); lcd.print (temperatūra); lcd.write (1); lcd.print ("C"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS sūtīšana"); kavēšanās (1000); lcd.clear (); tempflag = 1; čeks = 0; tests = 0; kavēšanās (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); kavēšanās (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kavēšanās (500); Serial.print ("Temperatūra zema"); Serial.print ("Temp"); Sērijas nospiedums (temperatūra); Sērijas.println ("C pakāpe"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temperatūra zema"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatūra"); lcd.setCursor (0, 1); lcd.print (temperatūra); lcd.write (1); lcd.print ("C"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS sūtīšana"); kavēšanās (1000); lcd.clear (); tempflag = 0; čeks = 0; tests = 0; kavēšanās (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); kavēšanās (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kavēšanās (500); Serial.print ("Augsts mitrums"); Sērijas nospiedums (mitrums); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Augsts mitrums"); kavēšanās (1000); lcd.setCursor (0, 1); lcd.print ("Mitrums"); lcd.print (mitrums); lcd.print (" %"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS sūtīšana"); kavēšanās (1000); lcd.clear (); humflag = 1; čeks = 0; tests = 0; kavēšanās (10); }}

void SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); kavēšanās (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kavēšanās (500); Serial.print ("Zems mitrums"); Serial.print ("Mitrums"); Sērijas nospiedums (mitrums); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Zems mitrums"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Mitrums"); lcd.setCursor (0, 1); lcd.print (mitrums); lcd.print (" %"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS sūtīšana"); kavēšanās (1000); lcd.clear (); humflag = 0; čeks = 0; tests = 0; kavēšanās (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Lai nosūtītu SMS teksta režīmā aizkave (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Mainīt uz galamērķa tālruņa numura aizkavi (500); Serial.print ("Laba gaisma"); Serial.print ("Intensitāte"); Sērijas nospiedums (lukss); Serial.println ("LUX"); Serial.println ((char) 26); // apstāšanās rakstzīme Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Laba gaisma"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensitāte"); lcd.setCursor (0, 1); lcd.print (lukss); lcd.print ("LUX"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS sūtīšana"); kavēšanās (1000); lcd.clear (); gaismas karogs = 1; čeks = 0; tests = 0; kavēšanās (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); kavēšanās (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kavēšanās (500); Serial.print ("LOW LIGHT"); Serial.print ("Intensitāte"); Sērijas nospiedums (lukss); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Vājš apgaismojums"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensitāte"); lcd.setCursor (0, 1); lcd.print (lukss); lcd.print ("LUX"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS sūtīšana"); kavēšanās (1000); lcd.clear (); gaismas karogs = 0; čeks = 0; tests = 0; kavēšanās (10); }} void SendSMS6 () {if (groundflag == 0) {Serial.println ("AT+CMGF = 1"); kavēšanās (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kavēšanās (500); Serial.print ("Sausā augsne"); Serial.print ("Mitrums"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Sausā augsne"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Mitrums"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS sūtīšana"); kavēšanās (1000); lcd.clear (); augsnes karogs = 1; čeks = 0; tests = 0; kavēšanās (10); }} void SendSMS7 () {if (groundflag == 1) {Serial.println ("AT+CMGF = 1"); kavēšanās (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); kavēšanās (500); Serial.print ("Slapja augsne"); Serial.print ("Mitrums"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Mitra augsne"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Mitrums"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); kavēšanās (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS sūtīšana"); kavēšanās (1000); lcd.clear (); augsnes karogs = 0; čeks = 0; tests = 0; kavēšanās (10); }}

Ieteicams: