Orodha ya maudhui:

Ufuatiliaji wa mimea na Arifa ya SMS: Hatua 5
Ufuatiliaji wa mimea na Arifa ya SMS: Hatua 5

Video: Ufuatiliaji wa mimea na Arifa ya SMS: Hatua 5

Video: Ufuatiliaji wa mimea na Arifa ya SMS: Hatua 5
Video: UKIZIONA DALILI HIZI MAMA MJAMZITO BASI UTAJIFUNGUA MTOTO WA KIUME 2024, Desemba
Anonim
Ufuatiliaji wa mimea na Arifa ya SMS
Ufuatiliaji wa mimea na Arifa ya SMS

Hapa ninaunda ufuatiliaji wa mimea na tahadhari ya SMS. Seva haihitajiki kwa mfumo huu wa tahadhari. Ni mradi wa bei rahisi sana na wa kuaminika.

Hatua ya 1: Zuia Mchoro wa Mfumo

Mchoro wa Mfumo
Mchoro wa Mfumo

Katika greenhouses za leo, vipimo vingi vya vigezo vinahitajika

kufuatilia na kudhibiti ubora na tija ya mimea. Lakini kupata matokeo unayotamani kuna mambo muhimu sana ambayo yanaweza kutumika kama Joto, Unyevu, Nuru na Udongo Mzuri, ambayo ni muhimu kwa ukuaji bora wa mmea. Kuweka vigezo hivi akilini nimejenga Mfumo wa Ufuatiliaji wa mimea otomatiki juu ya moduli ya GSM ukitumia Arduino. Mfumo huu ni mzuri sana kwa kukuza mimea bora. Sehemu nyingine muhimu ya mradi huu ni kwamba ni otomatiki kabisa na inafanya kazi kwa voltage ndogo kama; Ugavi wa 5-12V DC.

Sasa Moduli ya siku ya GSM inatumiwa sana kwa kutuma hali ya SMS ya aina yoyote ya data. Hapa katika mradi huu kwa kutumia Moduli ya SIM900A GSM tunaweza kuweka habari juu ya athari za hali ya hewa kwenye mimea. Mfumo huu pia utaonyesha mabadiliko ya hali ya hewa ambayo yanaathiri mmea katika uzalishaji na ubora wake n.k. Kusudi kuu la kuja na mradi huu ni kujenga Ufuatiliaji wa mimea otomatiki ambayo moduli ya GSM inapeleka habari juu ya Joto, Unyevu, kiwango cha Nuru, Udongo. unyevu.

Kwa sababu mimi ni raia wa India, nimetumia SIM900A (A ni anasimama kwa mtandao wa Asia) lakini unaweza kutumia moduli ya SIM tofauti kwa nchi yako. Nambari za AT zinaweza kutofautiana.

Hatua ya 2: Maelezo ya Sehemu

Maelezo ya Sehemu
Maelezo ya Sehemu
Maelezo ya Sehemu
Maelezo ya Sehemu
Maelezo ya Sehemu
Maelezo ya Sehemu

------------------ Ninapima aina nne za vigezo, ambazo zinaenda

kujadili hapa chini: ------------------

Joto na Unyevu

Sensorer ya DHT11 hutumiwa kuhisi joto na unyevu. Wakati joto na unyevu huwa juu mzizi wa mimea ulioharibika na ukuaji wa mmea sio vizuri.

Ukali wa Mwanga

Ukali wa nuru ni jambo muhimu kwa ukuaji wa mmea. Kwa kugundua nguvu ya mwangaza LDR (kipingaji kinachotegemea nuru) hutumiwa. Ukali wa taa hupimwa kwa LUX na kwa hivyo kwa maonyesho 100 ya taa ya LUX hutumiwa kama kiwango kilichofafanuliwa au kizingiti.

Unyevu wa Udongo

Unyevu wa mchanga ni muhimu sana kwa ukuaji mzuri wa mimea. Hapa sensor ya udongo hutumiwa kupima unyevu kwenye Udongo. Kutumia na sensor hii tunaweza kupima data ya mchanga kwa njia zote mbili, analog na pia dijiti.

Arifa ya SMS:

Thamani ya vigezo vyovyote hapo juu inapozidi kutoka kiwango kilichoainishwa au kiwango muhimu, mfumo hutuma moja kwa moja SMS kwa mmiliki au mwendeshaji na habari ya vigezo vinavyohusiana na wakati thamani inakuja katika masafa ya kawaida au chini ya kiwango kilichoainishwa tena mfumo kiatomati tuma SMS kwa mmiliki au mwendeshaji na habari ya data inayohusiana.

Arifa hutuma mara moja tu mpaka hali isiyobadilika ili mmiliki au mwendeshaji asipate SMS za mara kwa mara. Kwa hivyo, kifurushi cha chini cha SMS kinahitajika.

Hatua ya 3: Mchoro wa Mzunguko

Mchoro wa Mzunguko
Mchoro wa Mzunguko

Sehemu hizi zote zinapatikana kwa urahisi kwenye tovuti yoyote ya ununuzi mkondoni

au na muuzaji anayejulikana wa vipuri vya elektroniki. Vifurushi vyote vya data vinapatikana kwenye wavuti. Ikiwa shida yoyote jisikie huru kuwasiliana kwenye barua yangu.

Hatua ya 4: Kufanya kazi Video na Faili ya Nambari

Video ya mwisho ya kufanya kazi ya mradi

Hatua ya 5: Kanuni ya Programu

# pamoja

# pamoja

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

dht DHT; #fafanua dht_dpin A1 #fafanua LUX A0 #fafanua udongo A3

kuelea volt, lux, thamani; int output_value; joto la ndani, unyevu; taa nyepesi = 0; utaftaji = 0; int udongoflag = 0; int tempflag = 0; kuangalia; mtihani wa int, mtihani1; shahada ya baiti [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

kuanzisha batili ()

{Serial.begin (9600); // Anzisha serial kuwasiliana na Modem ya GSM lcd. Anza (16, 2); pinMode (udongo, INPUT); lcd.createChar (1, digrii); lcd.setCursor (0, 0); lcd.print ("Afya ya mimea"); lcd.setCursor (0, 1); lcd.print ("Kufuatilia"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJECT"); lcd.setCursor (0, 1); lcd.print ("Na S K CHHAYA"); kuchelewesha (1000); lcd wazi (); } kitanzi batili () {output_value = analogRead (udongo); output_value = ramani (value_ output, 550, 0, 0, 100); thamani = AnalogSoma (LUX); volt = (thamani / 1023.0) * 5; lux = ((2500 / volt) - 500) / 3.3; kuchelewesha (10000); // Toa wakati wa kutosha kwa GSM kujiandikisha kwenye Mtandao DHT.read11 (dht_dpin); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (joto = DHT. joto); // Takwimu za muda kwenye LCD LCD. Andika (1); lcd.print ("C"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Unyevu"); lcd.setCursor (0, 1); lcd.print (unyevu = DHT. unyevu); // Takwimu za unyevu kwenye LCD lcd.print ("%"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Mwanga"); lcd.setCursor (0, 1); lcd.print (lux); // Takwimu nyepesi kwenye LCD LCD.print ("LUM"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Unyevu"); lcd.setCursor (0, 1); lcd.print (pato_thamani); // Takwimu za mchanga kwenye LCD lcd.print ("%"); kuchelewesha (1000); lcd wazi ();

ikiwa (joto la 40) {SendSMS (); // SMS ya Temp high} ikiwa (unyevu 40) {SendSMS2 (); // SMS ya Unyevu juu} ikiwa (lux 100) {SendSMS4 (); // SMS ya Mwangaza juu} ikiwa (output_value == 950) {SendSMS7 (); // SMS ya Udongo Kavu} mwingine ikiwa (output_value! = 950) {SendSMS6 (); // SMS ya Udongo Mvua}} batili SendSMS () {if (tempflag == 0) {Serial.println ("AT + CMGF = 1"); kuchelewesha (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kuchelewesha (500); Serial.print ("Temp High,"); Serial.print ("Temp"); Printa ya serial (joto); Serial.println ("digrii C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Joto"); lcd.setCursor (0, 1); lcd.print (joto); andika lcd (1); lcd.print ("C"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Kutuma SMS"); kuchelewesha (1000); lcd wazi (); tempflag = 1; angalia = 0; mtihani = 0; kuchelewesha (10); }} batili SendSMS1 () {if (tempflag == 1) {Serial.println ("AT + CMGF = 1"); kuchelewesha (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kuchelewesha (500); Serial.print ("Temp Low,"); Serial.print ("Temp"); Printa ya serial (joto); Serial.println ("digrii C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Joto"); lcd.setCursor (0, 1); lcd.print (joto); andika lcd (1); lcd.print ("C"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Kutuma SMS"); kuchelewesha (1000); lcd wazi (); tempflag = 0; angalia = 0; mtihani = 0; kuchelewesha (10); }} batili SendSMS2 () {if (humflag == 0) {Serial.println ("AT + CMGF = 1"); kuchelewesha (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kuchelewesha (500); Serial.print ("Unyevu Juu"); Printa ya serial (unyevu); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Unyevu Juu"); kuchelewesha (1000); lcd.setCursor (0, 1); lcd.print ("Unyevu"); lcd.print (unyevu); lcd.print ("%"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Kutuma SMS"); kuchelewesha (1000); lcd wazi (); humflag = 1; angalia = 0; mtihani = 0; kuchelewesha (10); }}

batili SendSMS3 () {if (humflag == 1) {Serial.println ("AT + CMGF = 1"); kuchelewesha (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kuchelewesha (500); Serial.print ("Unyevu mdogo,"); Serial.print ("Unyevu"); Printa ya serial (unyevu); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Unyevu mdogo"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Unyevu"); lcd.setCursor (0, 1); lcd.print (unyevu); lcd.print ("%"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Kutuma SMS"); kuchelewesha (1000); lcd wazi (); humflag = 0; angalia = 0; mtihani = 0; kuchelewesha (10); }} batili SendSMS4 () {if (lightflag == 0) {Serial.println ("AT + CMGF = 1"); // Kutuma SMS katika ucheleweshaji wa Njia ya Maandishi (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); // Badilisha kwa ucheleweshaji wa nambari ya simu ya kwenda (500); Serial.print ("NURU nzuri,"); Serial.print ("Ukali"); Rangi ya serial (lux); Serial.println ("LUX"); Serial.println ((char) 26); // tabia ya kuacha Ctrl + Z lcd.setCursor (0, 0); lcd.print ("Nuru nzuri"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Ukali"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Kutuma SMS"); kuchelewesha (1000); lcd wazi (); taa ndogo = 1; angalia = 0; mtihani = 0; kuchelewesha (10); }} batili SendSMS5 () {if (lightflag == 1) {Serial.println ("AT + CMGF = 1"); kuchelewesha (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kuchelewesha (500); Serial.print ("MWANGA WA CHINI,"); Serial.print ("Ukali"); Rangi ya serial (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Mwanga mdogo"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Ukali"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Kutuma SMS"); kuchelewesha (1000); lcd wazi (); taa ndogo = 0; angalia = 0; mtihani = 0; kuchelewesha (10); }} batili SendSMS6 () {if (soilflag == 0) {Serial.println ("AT + CMGF = 1"); kuchelewesha (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kuchelewesha (500); Serial.print ("Udongo Kavu,"); Serial.print ("Unyevu"); Serial.print (pato_thamani); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Udongo Mkavu"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Unyevu"); lcd.setCursor (0, 1); lcd.print (pato_thamani); lcd.print ("%"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Kutuma SMS"); kuchelewesha (1000); lcd wazi (); udongo wa ardhi = 1; angalia = 0; mtihani = 0; kuchelewesha (10); }} batili SendSMS7 () {if (soilflag == 1) {Serial.println ("AT + CMGF = 1"); kuchelewesha (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kuchelewesha (500); Serial.print ("Udongo Mvua,"); Serial.print ("Unyevu"); Serial.print (pato_thamani); Serial.println ("%"); Serial.println ((char) 26); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Udongo Mvua"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Unyevu"); lcd.setCursor (0, 1); lcd.print (pato_thamani); lcd.print ("%"); kuchelewesha (1000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Kutuma SMS"); kuchelewesha (1000); lcd wazi (); udongo wa ardhi = 0; angalia = 0; mtihani = 0; kuchelewesha (10); }}

Ilipendekeza: