Turinys:
- 1 žingsnis: Blokuoti sistemos schemą
- 2 veiksmas: išsami komponento informacija
- 3 žingsnis: grandinės schema
- 4 veiksmas: vaizdo ir kodo failo veikimas
- 5 žingsnis: programos kodas
Video: Augalų stebėjimas naudojant SMS įspėjimą: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Čia aš sukuriu augalų stebėjimą SMS įspėjimu. Šiai įspėjimo sistemai serveris nereikalingas. Tai labai pigus ir patikimas projektas.
1 žingsnis: Blokuoti sistemos schemą
Šiuolaikiniuose šiltnamiuose reikia atlikti daugybę parametrų matavimų
stebėti ir kontroliuoti gerą augalų kokybę ir produktyvumą. Tačiau norint pasiekti norimų rezultatų, reikia atsižvelgti į kai kuriuos labai svarbius veiksnius, tokius kaip temperatūra, drėgmė, šviesa ir geras dirvožemis, kurie yra būtini geresniam augalų augimui. Turėdamas omenyje šiuos parametrus, sukūriau automatinę augalų stebėjimo sistemą per GSM modulį, naudodamas „Arduino“. Ši sistema yra labai efektyvi auginant geros kokybės augalus. Kita svarbi šio projekto dalis yra tai, kad jis yra visiškai automatinis ir veikia esant žemai įtampai; 5-12 V nuolatinės srovės maitinimas.
Šiandien GSM modulis yra plačiai naudojamas bet kokios rūšies duomenų SMS būsenai siųsti. Šiame projekte, naudojant SIM900A GSM modulį, galime išsaugoti informaciją apie klimato poveikį augalams. Sistema taip pat turi parodyti klimato pokyčius, kurie turi įtakos gamyklos našumui ir kokybei ir pan. Pagrindinis šio projekto tikslas yra sukurti automatinį augalų stebėjimą, kuriame GSM modulis siunčia informaciją apie temperatūrą, drėgmę, šviesos intensyvumą drėgmės.
Kadangi esu Indijos pilietis, naudoju SIM900A (A reiškia Azijos tinklo) modulį, tačiau galite naudoti kitokio tipo SIM modulį pagal savo šalį. AT kodai gali skirtis.
2 veiksmas: išsami komponento informacija
------------------ Aš išmatuoju keturių tipų parametrus, kurie vyksta
aptarti žemiau: ------------------
Temperatūra ir drėgmė
DHT11 jutiklis naudojamas temperatūrai ir drėgmei matuoti. Esant aukštai temperatūrai ir drėgmei, augalų šaknys yra pažeistos, o augalas blogai auga.
Šviesos stiprumas
Šviesos intensyvumas yra svarbus augalo augimo veiksnys. Šviesos intensyvumui nustatyti naudojamas LDR (nuo šviesos priklausomas rezistorius). Šviesos intensyvumas matuojamas LUX, todėl demonstravimui naudojama 100 LUX šviesa kaip apibrėžta arba ribinė.
Dirvožemio drėgmė
Dirvožemio drėgmė yra labai svarbi geram augalų augimui. Čia dirvožemio jutiklis naudojamas drėgmės kiekiui dirvožemyje matuoti. Naudodami šį jutiklį, galime matuoti dirvožemio duomenis abiem būdais, taip pat ir analogiškai, ir skaitmeniniu būdu.
SMS pranešimas:
Kai bet kurio iš aukščiau išvardytų parametrų vertė viršija nustatytą lygį arba kritinį lygį, sistema automatiškai siunčia SMS savininkui arba operatoriui su informacija apie susijusius parametrus, o kai vertė vėl yra normali arba žemiau nustatyto lygio, sistema automatiškai siųsti SMS savininkui ar operatoriui su informacija apie susijusius duomenis.
Pranešimas siunčiamas tik vieną kartą, kol sąlyga nepasikeis, todėl savininkas ar operatorius negauna dažnai SMS. Todėl reikia mažesnio SMS paketo.
3 žingsnis: grandinės schema
Visos šios dalys yra lengvai prieinamos bet kurioje internetinėje parduotuvėje
arba pas žinomą elektronikos atsarginių dalių pardavėją. Visus komponentų duomenų lapus galima rasti internete. Jei kyla kokių nors sunkumų, nedvejodami susisiekite el.
4 veiksmas: vaizdo ir kodo failo veikimas
Paskutinis projekto vaizdo įrašas
5 žingsnis: programos kodas
#įtraukti
#įtraukti
„LiquidCrystal lcd“(2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #define ground A3
plūdinis voltas, liuksas, vertė; int output_value; int temperatūra, drėgmė; int lightflag = 0; int humflag = 0; int groundflag = 0; int tempflag = 0; int patikrinti; int test, test1; baitų laipsnis [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
negaliojanti sąranka ()
{Serial.begin (9600); // Inicijuoti serijinį ryšį su GSM modemu lcd.begin (16, 2); pinMode (dirvožemis, ĮVADAS); lcd.createChar (1 laipsnis); lcd.setCursor (0, 0); lcd.print („Augalų sveikata“); lcd.setCursor (0, 1); lcd.print („Stebėjimas“); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („AGRI PROJEKTAS“); lcd.setCursor (0, 1); lcd.print ("Autorius S K CHHAYA"); vėlavimas (1000); lcd.clear (); } void loop () {output_value = analogRead (dirvožemis); output_value = žemėlapis (output_value, 550, 0, 0, 100); vertė = analogRead (LUX); voltas = (vertė / 1023,0) * 5; liuksai = ((2500 / voltų) - 500) / 3,3; vėlavimas (10000); // Skirkite pakankamai laiko GSM užsiregistruoti tinkle DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (temperatūra = DHT.temperatūra); // Laikini duomenys skystųjų kristalų ekrane lcd.write (1); lcd.print ("C"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Drėgmė“); lcd.setCursor (0, 1); lcd.print (drėgmė = DHT. drėgmė); // Drėgmės duomenys LCD lcd.print (" %"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Šviesa“); lcd.setCursor (0, 1); lcd.print (liuksas); // Šviesos duomenys LCD lcd.print ("LUM"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Drėgmė“); lcd.setCursor (0, 1); lcd.print (output_value); // Dirvožemio duomenys LCD lcd.print (" %"); vėlavimas (1000); lcd.clear ();
jei (temperatūra 40) {SendSMS (); // SMS aukštai temperatūrai} if (drėgmė 40) {SendSMS2 (); // SMS dėl didelės drėgmės} if (lux 100) {SendSMS4 (); // SMS šviesiai aukštai} if (output_value == 950) {SendSMS7 (); // SMS sausam dirvožemiui} else if (output_value! = 950) {SendSMS6 (); // SMS šlapiam dirvožemiui}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); vėlavimas (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vėlavimas (500); Serial.print („Aukšta temperatūra“); Serial.print („Temp“); Serijinis atspaudas (temperatūra); Serial.println („C laipsnis“); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Aukšta temperatūra“); vėlavimas (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"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („SMS siuntimas“); vėlavimas (1000); lcd.clear (); tempflag = 1; čekis = 0; testas = 0; vėlavimas (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); vėlavimas (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vėlavimas (500); Serial.print („Žema temperatūra“); Serial.print („Temp“); Serijinis atspaudas (temperatūra); Serial.println („C laipsnis“); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Žema temperatūra“); vėlavimas (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"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („SMS siuntimas“); vėlavimas (1000); lcd.clear (); tempflag = 0; čekis = 0; testas = 0; vėlavimas (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); vėlavimas (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vėlavimas (500); Serial.print („Didelė drėgmė“); Serijinis atspaudas (drėgmė); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Didelė drėgmė“); vėlavimas (1000); lcd.setCursor (0, 1); lcd.print („Drėgmė“); lcd.print (drėgmė); lcd.print (" %"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („SMS siuntimas“); vėlavimas (1000); lcd.clear (); humflag = 1; čekis = 0; testas = 0; vėlavimas (10); }}
void SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); vėlavimas (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vėlavimas (500); Serial.print („Maža drėgmė“); Serial.print („Drėgmė“); Serijinis atspaudas (drėgmė); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Maža drėgmė“); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Drėgmė“); lcd.setCursor (0, 1); lcd.print (drėgmė); lcd.print (" %"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („SMS siuntimas“); vėlavimas (1000); lcd.clear (); humflag = 0; čekis = 0; testas = 0; vėlavimas (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Norėdami siųsti SMS teksto režimu, uždelsimas (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Pakeisti į paskirties telefono numerio uždelsimą (500); Serial.print („Gera šviesa“); Serial.print („Intensity“); Serijinis atspaudas (liuksai); Serial.println („LUX“); Serial.println ((char) 26); // stabdantis simbolis Ctrl+Z lcd.setCursor (0, 0); lcd.print („Gera šviesa“); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Intensyvumas“); lcd.setCursor (0, 1); lcd.print (liuksas); lcd.print ("LUX"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („SMS siuntimas“); vėlavimas (1000); lcd.clear (); šviesos vėliava = 1; čekis = 0; testas = 0; vėlavimas (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); vėlavimas (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vėlavimas (500); Serial.print („LOW LIGHT“); Serial.print („Intensity“); Serijinis atspaudas (liuksai); Serial.println („LUX“); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Silpnas apšvietimas“); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Intensyvumas“); lcd.setCursor (0, 1); lcd.print (liuksas); lcd.print ("LUX"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („SMS siuntimas“); vėlavimas (1000); lcd.clear (); šviesos vėliava = 0; čekis = 0; testas = 0; vėlavimas (10); }} void SendSMS6 () {if (groundflag == 0) {Serial.println ("AT+CMGF = 1"); vėlavimas (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vėlavimas (500); Serial.print („Sausas dirvožemis“); Serial.print („Drėgmė“); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Sausas dirvožemis"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Drėgmė“); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („SMS siuntimas“); vėlavimas (1000); lcd.clear (); dirvos vėliava = 1; čekis = 0; testas = 0; vėlavimas (10); }} void SendSMS7 () {if (groundflag == 1) {Serial.println ("AT+CMGF = 1"); vėlavimas (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vėlavimas (500); Serial.print („Šlapias dirvožemis“); Serial.print („Drėgmė“); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Šlapias dirvožemis“); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Drėgmė“); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); vėlavimas (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („SMS siuntimas“); vėlavimas (1000); lcd.clear (); dirvos vėliava = 0; čekis = 0; testas = 0; vėlavimas (10); }}
Rekomenduojamas:
Kaip sukurti augalų monitorių naudojant „Arduino“: 7 žingsniai
Kaip sukurti augalų monitorių naudojant „Arduino“: Šioje pamokoje sužinosime, kaip aptikti dirvožemio drėgmę naudojant drėgmės jutiklį ir mirksės žalias šviesos diodas, jei viskas gerai, ir OLED ekranas bei „Visuino“. Žiūrėti vaizdo įrašą
Augalų sveikatos stebėjimas: 7 žingsniai
Augalų sveikatos stebėtojas: Sveiki, dar kartą. Šio projekto priežastis buvo mano mažoji sesuo. Artėja jos gimtadienis, ir ji myli du dalykus- gamtą (florą ir fauną), mažus niekučius ir pan. Taigi norėjau sujungti šiuos du dalykus ir padaryti ją gimtadienio švente
Pagreitėjimo stebėjimas naudojant „Raspberry Pi“ir AIS328DQTR naudojant „Python“: 6 žingsniai
Pagreitėjimo stebėjimas naudojant „Raspberry Pi“ir „AIS328DQTR“naudojant „Python“: pagreitis yra baigtinis, manau, pagal kai kuriuos fizikos įstatymus.- Terry Riley A gepardas naudoja nuostabų pagreitį ir greitus greičio pokyčius. Greičiausias padaras į krantą kartkartėmis naudoja didžiausią tempą grobiui sugauti
Pagreitėjimo variantų stebėjimas naudojant „Raspberry Pi“ir MMA7455 naudojant „Python“: 6 žingsniai
Pagreitėjimo variantų stebėjimas naudojant „Raspberry Pi“ir „MMA7455“naudojant „Python“: nesuklydau, bandžiau gravitaciją. Jis vis dar veikia… Atskleidžiant greitėjantį erdvėlaivį, paaiškėjo, kad laikrodis aukščiausiame šaudyklės taške pasirenka greičiau nei vienas bazėje dėl gravitacinio laiko išsiplėtimo. Kai kurie
Augalų stebėjimas ir įspėjimai naudojant ESP8266 ir „AskSensors IoT Cloud“: 6 žingsniai
Augalų stebėjimas ir įspėjimai naudojant ESP8266 ir „AskSensors IoT Cloud“: Šio projekto tikslas yra sukurti išmaniąją augalų stebėjimo sistemą naudojant ESP8266 ir „AskSensors IoT“platformą. Ši sistema gali būti naudojama norint stebėti dirvožemio drėgmės lygį ir pateikti objektyvius drėkinimo sprendimų kriterijus. kurie padeda užtikrinti drėkinimą