Sisukord:
- Samm: blokeerige süsteemi skeem
- 2. samm: komponendi üksikasjad
- Samm: vooluahela skeem
- Samm 4: Töötage video- ja koodifailiga
- Samm: programmikood
Video: Taimeseire SMS -hoiatusega: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
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
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
------------------ 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
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:
Suitsu tuvastamise korral SMS -ide saatmine (Arduino+GSM SIM900A: 5 sammu
Suitsu tuvastamise korral SMS -ide saatmine (Arduino+GSM SIM900A: Tere kõigile! Esimesel juhendamisel teen gaasialarmi, mis saadab reostuse tuvastamisel kasutajale sõnumi. See on lihtne prototüüp, mis kasutab Arduino, GSM -moodulit ja elektrokeemiat suitsuandurit. Tulevikus saab seda laiendada
SMS -i saatmine ESP8266 abil: 5 sammu
SMS -i saatmine ESP8266 abil: see juhend annab teile juhised, kuidas saata SMS -sõnumeid Interneti kaudu ESP8266 NodeMCU moodulplaadilt mobiiltelefonile. Sõnumi saatmiseks peate virtuaalse telefoninumbri hankimiseks läbima sammud
SMS -ide saatmine Arduinoga -- TC35 GSM -moodul: 5 sammu
SMS -ide saatmine Arduinoga || TC35 GSM -moodul: selles väikeses projektis näitan teile, kuidas TC35 GSM -moodulit õigesti kasutada ja kuidas seda koos Arduino Unoga SMS -i saatmiseks kasutada
Kuidas kasutada SIM800L -i SMS -ide saatmiseks ja SMS -i edastamiseks: 3 sammu
Kuidas kasutada SIM800L -i SMS -ide saatmiseks ja SMS -i edastamiseks: Kirjeldus: See õpetus näitab, kuidas kasutada SIM800L -i SMS -ide saatmiseks ja SMS -ide vastuvõtmiseks relee juhtimiseks. SIM800L moodul on väikese suurusega ja seda saab kasutada Arduinoga liidestamiseks SMS -ide saatmiseks, SMS -ide vastuvõtmiseks, helistamiseks, kõne vastuvõtmiseks ja muuks. Selles õpetuses
PInt@t10n: nutikas taimeseire süsteem: 9 sammu
PInt@t10n: nutikas taimeseire süsteem: PI@nt@t10n See projekt loodi ibm iot pilve testimiseks. Kasutame esp-8266-d andmete saatmiseks ja vastuvõtmiseks ibm-i pilve ja sealt. Suhtlus esp ja ibm pilve vahel toimub MQTT kaudu. Kõigi andmete töötlemiseks ja esitamiseks