Indholdsfortegnelse:
- Trin 1: Blokdiagram over systemet
- Trin 2: Komponentdetaljer
- Trin 3: Kredsløbsdiagram
- Trin 4: Arbejdsvideo og kodefil
- Trin 5: Kode for program
Video: Anlægsovervågning med SMS -advarsel: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Her opretter jeg planteovervågning med SMS -alarm. Serveren er ikke påkrævet til dette alarmsystem. Det er et meget billigt og pålideligt projekt.
Trin 1: Blokdiagram over systemet
I nutidens drivhuse kræves mange parametermålinger
at overvåge og kontrollere for planternes gode kvalitet og produktivitet. Men for at få de ønskede resultater er der nogle meget vigtige faktorer, der spiller ind som temperatur, fugtighed, lys og god jord, som er nødvendige for en bedre plantevækst. Med disse parametre i tankerne har jeg bygget et automatisk planteovervågningssystem over GSM -modul ved hjælp af Arduino. Dette system er meget effektivt til dyrkning af planter af god kvalitet. Den anden vigtige del af dette projekt er, at det er fuldautomatisk og arbejder på lavspænding som; 5-12V DC forsyning.
Nu om dage bruges GSM -modul i vid udstrækning til at sende SMS -status for enhver form for data. Her i dette projekt kan vi ved hjælp af SIM900A GSM -modul opbevare oplysninger om virkningerne af klimaet på planter. Systemet skal også demonstrere klimatiske ændringer, der påvirker anlægget i dets produktivitet og kvalitet osv. Hovedformålet med at komme med dette projekt er at bygge en automatisk planteovervågning, hvor GSM -modul sender oplysninger om temperatur, fugtighed, lysintensitet, jord fugtighed.
Fordi jeg er den indiske statsborger, brugte SIM900A (A står for asiatisk netværk) modul, men du kan bruge en anden slags SIM -modul i henhold til dit land. AT -koderne kan variere.
Trin 2: Komponentdetaljer
------------------ Jeg måler fire typer parametre, som går
at diskutere nedenfor: ------------------
Temperatur og fugtighed
DHT11 -sensoren bruges til at registrere temperatur og fugtighed. Når temperaturen og luftfugtigheden er høj, er roden af planter beskadiget og plantens vækst ikke godt.
Lysintensitet
Lysintensitet er en vigtig faktor for plantevæksten. Til påvisning af lysintensitet bruges LDR (Lysafhængig modstand). Lysintensitet måles i LUX og derfor bruges til demonstration 100 LUX lys som defineret eller tærskelværdi.
Jordfugt
Jordfugtighedsindhold er meget vigtigt for en god vækst af planter. Her bruges Jordsensor til at måle fugtindhold i Jord. Ved hjælp af denne sensor kan vi måle jorddata på begge måder, både analoge og digitale.
SMS -besked:
Når værdien af en af ovenstående parametre overskrides fra et defineret niveau eller kritisk niveau, sender systemet automatisk SMS til ejeren eller operatøren med oplysninger om relaterede parametre, og når værdien kommer i normalt område eller under det definerede niveau igen, vil systemet automatisk sende SMS til ejeren eller operatøren med oplysninger om relaterede data.
Meddelelsen sendes kun én gang, indtil tilstanden ikke ændres, så ejeren eller operatøren ikke får hyppig SMS. Derfor kræves lavere SMS -pakke.
Trin 3: Kredsløbsdiagram
Alle disse dele er let tilgængelige på ethvert online shoppingsted
eller hos en kendt elektronik-reservedelsforhandler. Alle komponenter datablade er tilgængelige på internettet. Hvis der er problemer, er du velkommen til at kontakte på min mail.
Trin 4: Arbejdsvideo og kodefil
Sidste arbejdsvideo af projektet
Trin 5: Kode for program
#omfatte
#omfatte
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
dht DHT; #definer dht_dpin A1 #definer LUX A0 #definer jord A3
float volt, lux, værdi; int output_værdi; int temperatur, fugtighed; int lightflag = 0; int humflag = 0; int jordflag = 0; int tempflag = 0; int check; int test, test1; bytegrad [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
ugyldig opsætning ()
{Serial.begin (9600); // Initialiser seriel til at kommunikere med GSM -modem lcd.begin (16, 2); pinMode (jord, INPUT); lcd.createChar (1, grad); lcd.setCursor (0, 0); lcd.print ("Plantesundhed"); lcd.setCursor (0, 1); lcd.print ("Monitering"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJEKT"); lcd.setCursor (0, 1); lcd.print ("Af S K CHHAYA"); forsinkelse (1000); lcd.clear (); } void loop () {output_value = analogRead (jord); output_value = kort (output_værdi, 550, 0, 0, 100); værdi = analogRead (LUX); volt = (værdi / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; forsinkelse (10000); // Giv nok tid til, at GSM kan registrere sig på netværket DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (temperatur = DHT. temperatur); // Temp data på LCD lcd.write (1); lcd.print ("C"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fugtighed"); lcd.setCursor (0, 1); lcd.print (luftfugtighed = DHT. fugtighed); // Fugtighedsdata på LCD lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lys"); lcd.setCursor (0, 1); lcd.print (lux); // Lysdata på LCD lcd.print ("LUM"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fugt"); lcd.setCursor (0, 1); lcd.print (output_value); // Jorddata på LCD lcd.print (" %"); forsinkelse (1000); lcd.clear ();
hvis (temperatur 40) {SendSMS (); // SMS for Temp high} if (fugtighed 40) {SendSMS2 (); // SMS for høj luftfugtighed} if (lux 100) {SendSMS4 (); // SMS til Light high} if (output_value == 950) {SendSMS7 (); // SMS til tør jord} else if (output_value! = 950) {SendSMS6 (); // SMS til våd jord}} ugyldig SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("Temp High"); Serial.print ("Temp"); Serielt tryk (temperatur); Serial.println ("grad C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("temperatur"); lcd.setCursor (0, 1); lcd.print (temperatur); lcd.write (1); lcd.print ("C"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); tempflag = 1; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("Temp Low"); Serial.print ("Temp"); Serielt tryk (temperatur); Serial.println ("grad C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Lav"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("temperatur"); lcd.setCursor (0, 1); lcd.print (temperatur); lcd.write (1); lcd.print ("C"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); tempflag = 0; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("høj luftfugtighed"); Serielt tryk (fugtighed); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("høj luftfugtighed"); forsinkelse (1000); lcd.setCursor (0, 1); lcd.print ("Fugtighed"); lcd.print (fugtighed); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); humflag = 1; check = 0; test = 0; forsinkelse (10); }}
ugyldig SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("Lav luftfugtighed"); Serial.print ("Fugtighed"); Serielt tryk (fugtighed); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Lav luftfugtighed"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fugtighed"); lcd.setCursor (0, 1); lcd.print (fugtighed); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); humflag = 0; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // For at sende SMS i forsinkelse i teksttilstand (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Skift til destinationens telefonnummerforsinkelse (500); Serial.print ("Godt LYS"); Serial.print ("Intensitet"); Seriel.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // stoptegnet Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Godt lys"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensitet"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); lightflag = 1; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("LAVT LYS"); Serial.print ("Intensitet"); Seriel.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Svagt lys"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensitet"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); lightflag = 0; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS6 () {if (soilflag == 0) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("tør jord"); Serial.print ("Fugt"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("tør jord"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fugt"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); jordflag = 1; check = 0; test = 0; forsinkelse (10); }} ugyldig SendSMS7 () {if (soilflag == 1) {Serial.println ("AT+CMGF = 1"); forsinkelse (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); forsinkelse (500); Serial.print ("våd jord"); Serial.print ("Fugt"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("våd jord"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fugt"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); forsinkelse (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sender SMS"); forsinkelse (1000); lcd.clear (); jordflag = 0; check = 0; test = 0; forsinkelse (10); }}
Anbefalede:
Sender SMS med Arduino -- TC35 GSM -modul: 5 trin
Sender SMS med Arduino || TC35 GSM -modul: I dette lille projekt vil jeg vise dig, hvordan du bruger et TC35 GSM -modul korrekt, og hvordan du bruger det med en Arduino Uno til at sende en SMS med det
GPS -bilsporing med SMS -underretning og upload af Thingspeak -data, Arduino -baseret, hjemmeautomatisering: 5 trin (med billeder)
GPS -bilsporing med SMS -besked og upload af Thingspeak -data, Arduino -baseret, hjemmeautomatisering: Jeg lavede denne GPS -tracker sidste år, og da den fungerer godt, offentliggør jeg den nu på Instructable. Den er tilsluttet tilbehørsstikket i min bagagerum. GPS -trackeren uploader bilens position, hastighed, retning og den målte temperatur via en mobildata
Sådan bruges SIM800L til at sende SMS og styre relæ via SMS: 3 trin
Sådan bruges SIM800L til at sende SMS og styre relæ via SMS: Beskrivelse: Denne vejledning viser, hvordan du bruger SIM800L til at sende sms og modtage sms til at styre relæ. SIM800L -modulet er lille i størrelse og kan bruges til at kommunikere med Arduino til at sende sms, modtage sms, ringe, modtage opkald og andet. I denne vejledning
Anlægsovervågning og advarsler med ESP8266 og AskSensors IoT Cloud: 6 trin
Anlægsovervågning og advarsler med ESP8266 og AskSensors IoT Cloud: Dette projekt sigter mod at opbygge et smart anlægsovervågningssystem ved hjælp af ESP8266 og AskSensors IoT -platform Dette system kan bruges til at holde styr på jordens fugtighedsniveau for at give objektive kriterier for vandingsbeslutninger. som hjælper med at sikre kunstvanding
Sender SMS med temperatur til tiden: 5 trin (med billeder)
Sender en sms med temperatur til tiden: Ideen er at få en temperatur -sms fra mine fædres hus. Intet fancy bare hurtig at sætte dele sammen. Delene er: Geekcreit ® ATmega328P Nano V3 Controller Board Compatible ArduinoDIY NANO IO Shield V1.O Expansion Board For ArduinoDS130