Sisällysluettelo:
- Vaihe 1: Järjestelmän lohkokaavio
- Vaihe 2: Komponenttitiedot
- Vaihe 3: Piirikaavio
- Vaihe 4: Toimiva video- ja kooditiedosto
- Vaihe 5: Ohjelmakoodi
Video: Kasvien valvonta SMS -hälytyksellä: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Täällä luon laitoksen seurannan SMS -hälytyksellä. Palvelin ei ole välttämätön tälle hälytysjärjestelmälle. Se on erittäin halpa ja luotettava projekti.
Vaihe 1: Järjestelmän lohkokaavio
Nykypäivän kasvihuoneissa tarvitaan monia parametrien mittauksia
valvoa ja valvoa kasvien hyvää laatua ja tuottavuutta. Haluttujen tulosten saavuttamiseksi on kuitenkin olemassa joitakin erittäin tärkeitä tekijöitä, kuten lämpötila, kosteus, kevyt ja hyvä maaperä, jotka ovat välttämättömiä kasvien paremman kasvun kannalta. Nämä parametrit pitäen mielessä olen rakentanut automaattisen kasvien valvontajärjestelmän GSM -moduulin päälle Arduinolla. Tämä järjestelmä on erittäin tehokas laadukkaiden kasvien kasvattamiseen. Toinen tärkeä osa tätä projektia on, että se on täysin automaattinen ja toimii pienjännitteellä; 5-12V DC-syöttö.
Nykyään GSM -moduulia käytetään laajalti kaikenlaisten tietojen tekstiviestien lähettämiseen. Tässä projektissa SIM900A GSM -moduulin avulla voimme säilyttää tietoa ilmaston vaikutuksista kasveihin. Järjestelmän on myös osoitettava ilmastonmuutokset, jotka vaikuttavat laitoksen tuottavuuteen ja laatuun jne. Tämän projektin päätavoitteena on rakentaa automaattinen laitoksen valvonta, jossa GSM -moduuli lähettää tiedot lämpötilasta, kosteudesta, valon voimakkuudesta, maaperästä kosteutta.
Koska olen Intian kansalainen, käytetty SIM900A (A tarkoittaa Aasian verkkoa) -moduuli, mutta voit käyttää erilaista SIM -moduulia maasi mukaan. AT -koodit voivat vaihdella.
Vaihe 2: Komponenttitiedot
------------------ Mittaan neljän tyyppisiä parametreja, jotka ovat menossa
keskustella alla: ------------------
Lämpötila ja kosteus
DHT11 -anturia käytetään lämpötilan ja kosteuden mittaamiseen. Kun lämpötila ja kosteus ovat korkeat, kasvien juuret ovat vaurioituneet ja kasvien kasvu ei ole kunnossa.
Valon voimakkuus
Valon voimakkuus on tärkeä tekijä kasvin kasvulle. Valon voimakkuuden havaitsemiseen käytetään LDR: tä (valosta riippuvaa vastusta). Valon voimakkuus mitataan LUX -arvossa ja siksi esittelyyn käytetään 100 LUX -valoa määritettynä tai kynnystasona.
Maan kosteus
Maaperän kosteus on erittäin tärkeää kasvien hyvän kasvun kannalta. Tässä maaperäanturia käytetään maaperän kosteuspitoisuuden mittaamiseen. Tämän anturin avulla voimme mitata maaperätietoja sekä analogisesti että digitaalisesti.
SMS -ilmoitus:
Kun jonkin edellä mainitun parametrin arvo ylittää määritellyn tason tai kriittisen tason, järjestelmä lähettää automaattisesti tekstiviestin omistajalle tai operaattorille liittyvien parametrien tiedoilla ja kun arvo on normaalialueella tai määritetyn tason alapuolella, järjestelmä automaattisesti lähettää tekstiviestin omistajalle tai operaattorille, jossa on tietoja asiaan liittyvistä tiedoista.
Ilmoitus lähetetään vain kerran, kunnes ehto ei muutu, joten omistaja tai operaattori ei saa usein tekstiviestejä. Siksi tarvitaan pienempi tekstiviestipaketti.
Vaihe 3: Piirikaavio
Nämä kaikki osat ovat helposti saatavilla mistä tahansa verkkokauppasivustosta
tai tunnetun elektroniikkaosien jälleenmyyjän kanssa. Kaikki komponenttien tietolomakkeet ovat saatavilla verkossa. Jos sinulla on ongelmia, ota rohkeasti yhteyttä sähköpostillani.
Vaihe 4: Toimiva video- ja kooditiedosto
Viimeinen työvideo projektista
Vaihe 5: Ohjelmakoodi
#sisältää
#sisältää
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #define earth A3
kelluva voltti, lux, arvo; int output_value; int lämpötila, kosteus; int lightflag = 0; int humflag = 0; int maaperän lippu = 0; int tempflag = 0; int tarkistaa; int testi, testi1; tavuaste [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
mitätön asennus ()
{Serial.begin (9600); // Alusta sarja kommunikoidaksesi GSM -modeemin kanssa lcd.begin (16, 2); pinMode (maaperä, TULO); lcd.createChar (1 aste); lcd.setCursor (0, 0); lcd.print ("Kasvien terveys"); lcd.setCursor (0, 1); lcd.print ("Valvonta"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJECT"); lcd.setCursor (0, 1); lcd.print ("Tekijä S K CHHAYA"); viive (1000); lcd.clear (); } void loop () {output_value = analogRead (maaperä); output_value = kartta (output_value, 550, 0, 0, 100); arvo = analoginen luku (LUX); voltti = (arvo / 1023,0) * 5; lux = ((2500 / voltti) - 500) / 3,3; viive (10000); // Anna GSM: lle riittävästi aikaa rekisteröityä verkkoon DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lämpötila"); lcd.setCursor (0, 1); lcd.print (lämpötila = DHT.lämpötila); // Lämpötilatiedot nestekidenäytöllä lcd.write (1); lcd.print ("C"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kosteus"); lcd.setCursor (0, 1); lcd.print (kosteus = DHT.kosteus); // Kosteustiedot nestekidenäytön lcd.print -muodossa (" %"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Valo"); lcd.setCursor (0, 1); lcd.print (lux); // Valotiedot nestekidenäytön lcd.print -muodossa ("LUM"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kosteus"); lcd.setCursor (0, 1); lcd.print (output_value); // Maaperätiedot nestekidenäytön lcd.print -muodossa (" %"); viive (1000); lcd.clear ();
jos (lämpötila 40) {SendSMS (); // SMS for Temp high} jos (kosteus 40) {SendSMS2 (); // SMS for Kosteus korkea} if (lux 100) {SendSMS4 (); // SMS for Light high} jos (output_value == 950) {SendSMS7 (); // SMS kuivalle maaperälle} else if (output_value! = 950) {SendSMS6 (); // SMS kostealle maaperälle}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Lämpötila korkea"); Serial.print ("Lämpö"); Sarjajälki (lämpötila); Serial.println ("aste C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Lämpötila korkea"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lämpötila"); lcd.setCursor (0, 1); lcd.print (lämpötila); lcd.write (1); lcd.print ("C"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); tempflag = 1; tarkista = 0; testi = 0; viive (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Lämpötila alhainen"); Serial.print ("Lämpö"); Sarjajälki (lämpötila); Serial.println ("aste C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Lämpötila alhainen"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lämpötila"); lcd.setCursor (0, 1); lcd.print (lämpötila); lcd.write (1); lcd.print ("C"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); tempflag = 0; tarkista = 0; testi = 0; viive (10); }} mitätön SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Kosteus korkea"); Sarjajälki (kosteus); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Kosteus korkea"); viive (1000); lcd.setCursor (0, 1); lcd.print ("Kosteus"); lcd.print (kosteus); lcd.print (" %"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); humflag = 1; tarkista = 0; testi = 0; viive (10); }}
mitätön SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Alhainen kosteus"); Serial.print ("Kosteus"); Sarjajälki (kosteus); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Alhainen kosteus"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kosteus"); lcd.setCursor (0, 1); lcd.print (kosteus); lcd.print (" %"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); humflag = 0; tarkista = 0; testi = 0; viive (10); }} mitätön SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Tekstiviestien lähettäminen tekstitilassa viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Vaihda kohdepuhelinnumeron viiveeseen (500); Serial.print ("Hyvä valo"); Serial.print ("Intensiteetti"); Sarjanjälki (lux); Serial.println ("LUX"); Serial.println ((char) 26); // pysäytysmerkki Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Hyvä valo"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensiteetti"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); valolippu = 1; tarkista = 0; testi = 0; viive (10); }} mitätön SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("LOW LIGHT"); Serial.print ("Intensiteetti"); Sarjanjälki (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Hämärä"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensiteetti"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); valolippu = 0; tarkista = 0; testi = 0; viive (10); }} mitätön SendSMS6 () {if (groundflag == 0) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Kuiva maaperä"); Serial.print ("Kosteus"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Kuiva maaperä"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kosteus"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); maaperän lippu = 1; tarkista = 0; testi = 0; viive (10); }} mitätön SendSMS7 () {if (groundflag == 1) {Serial.println ("AT+CMGF = 1"); viive (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); viive (500); Serial.print ("Märkä maaperä"); Serial.print ("Kosteus"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Märkä maaperä"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kosteus"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); viive (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS -lähetys"); viive (1000); lcd.clear (); maaperän lippu = 0; tarkista = 0; testi = 0; viive (10); }}
Suositeltava:
Automaattinen kasvien kastelujärjestelmä mikron avulla: bitti: 8 vaihetta (kuvilla)
Automaattinen kasvien kastelujärjestelmä Micro: bitin avulla: Tässä ohjeessa näytän sinulle, kuinka rakentaa automaattinen kasvien kastelujärjestelmä käyttämällä Micro: bittiä ja joitain muita pieniä elektronisia komponentteja. Micro: bit käyttää kosteusanturia seurata kasvin maaperän kosteustasoa ja
Automaattinen kasvien kastelujärjestelmä: 4 vaihetta
Automaattinen kasvien kastelujärjestelmä: Näin tein automaattisen kasvien kastelujärjestelmän
Kasvien kastelujärjestelmän rakentaminen Arduinolla: 7 vaihetta
Kasvien kastelujärjestelmän rakentaminen Arduinon avulla: Tässä opetusohjelmassa opimme tekemään kasvien kastelujärjestelmän kosteusanturin, vesipumpun ja vilkkumaan vihreän LED -valon avulla, jos kaikki on kunnossa ja OLED -näyttö ja Visuino. Katso video
Kasvien valvonta ja hälytykset ESP8266: n ja AskSensors IoT Cloudin avulla: 6 vaihetta
Kasvien valvonta ja hälytykset ESP8266: n ja AskSensors IoT Cloudin avulla: Tämän projektin tavoitteena on rakentaa älykäs laitoksen seurantajärjestelmä, joka käyttää ESP8266: ta ja AskSensors IoT -alustaa. Tämän järjestelmän avulla voidaan seurata maaperän kosteustasoa ja tarjota objektiivisia kriteerejä kastelupäätöksille. jotka auttavat varmistamaan kastelun
Kasvien valvonta: 12 vaihetta (kuvilla)
Kasvimonitori: Kasvimonitorin tarkoitus on skannata ja antaa vettä tarvittaessa laitokselle, joka on kytkenyt tietyn analogisen maaperäanturin. Tähän projektiin tarvittavat osat ovat: 1x Arduino Uno1x LCD -näyttö1x Servomoottori1x Maaperäanturiyksikkö1x Potentiometri1x Lääketieteellinen 30c