Taula de continguts:
- Pas 1: diagrama de blocs del sistema
- Pas 2: detall del component
- Pas 3: diagrama del circuit
- Pas 4: Treball de fitxers de codi i vídeo
- Pas 5: Codi de programa
Vídeo: Monitorització de plantes amb alerta per SMS: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Aquí creo el control de plantes amb alerta per SMS. El servidor no és necessari per a aquest sistema d'alerta. És un projecte molt barat i fiable.
Pas 1: diagrama de blocs del sistema
Als hivernacles actuals, es necessiten moltes mesures de paràmetres
supervisar i controlar la bona qualitat i productivitat de les plantes. Però per obtenir els resultats desitjats hi ha alguns factors molt importants que entren en joc com la temperatura, la humitat, la llum i el bon sòl, que són necessaris per a un millor creixement de les plantes. Tenint en compte aquests paràmetres, he construït un sistema automàtic de control de plantes sobre mòdul GSM mitjançant Arduino. Aquest sistema és molt eficient per cultivar plantes de bona qualitat. L’altra part important d’aquest projecte és que és totalment automàtic i funciona com a baixa tensió; Alimentació de 5-12V CC.
Ara el mòdul GSM fa uns dies s’utilitza àmpliament per enviar l’estat dels SMS de qualsevol tipus de dades. Aquí en aquest projecte mitjançant el mòdul GSM SIM900A podem mantenir informació sobre els efectes del clima sobre les plantes. El sistema també demostrarà els canvis climàtics que afecten la planta en la seva productivitat i qualitat, etc. humitat.
Com que sóc ciutadà de l'Índia, he utilitzat el mòdul SIM900A (A significa "xarxa asiàtica"), però podeu utilitzar diferents tipus de mòduls SIM segons el vostre país. Els codis AT poden diferir.
Pas 2: detall del component
------------------ Mesuro quatre tipus de paràmetres, que funcionen
per discutir a continuació: ------------------
Temperatura i humitat
El sensor DHT11 s’utilitza per detectar la temperatura i la humitat. Quan la temperatura i la humitat són elevades, l’arrel de les plantes es fa malbé i el creixement de la planta no està bé.
Intensitat de llum
La intensitat de la llum és un factor important per al creixement de les plantes. Per detectar la intensitat de la llum s’utilitza LDR (resistència dependent de la llum). La intensitat de la llum es mesura en LUX i, per tant, per demostrar-la s’utilitza 100 LUX segons el nivell definit o llindar.
Humitat del sòl
La humitat del sòl és molt important per a un bon creixement de les plantes. Aquí el sensor de sòl s’utilitza per mesurar el contingut d’humitat del sòl. Mitjançant aquest sensor podem mesurar les dades del sòl de totes dues maneres, tant analògiques com digitals.
Notificació per SMS:
Quan el valor d'algun dels paràmetres anteriors és superior a un nivell o nivell crític definit, el sistema envia automàticament SMS al propietari o a l'operador amb informació dels paràmetres relacionats i quan el valor es troba dins de l'interval normal o per sota del nivell definit, el sistema torna automàticament enviar SMS al propietari o a l’operador amb informació de dades relacionades.
La notificació només s’envia una vegada fins que la condició no canvia, de manera que el propietari o l’operador no reben SMS freqüents. Per tant, cal un paquet de SMS més baix.
Pas 3: diagrama del circuit
Totes aquestes peces estan fàcilment disponibles a qualsevol lloc de compres en línia
o amb un conegut distribuïdor de recanvis d’electrònica. Tots els fulls de dades de components estan disponibles al web. Si teniu cap dificultat, no dubteu a posar-vos en contacte amb el meu correu electrònic.
Pas 4: Treball de fitxers de codi i vídeo
Vídeo de treball final del projecte
Pas 5: Codi de programa
#incloure
#incloure
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #define soil A3
voltatge flotant, lux, valor; int output_value; temperatura int, humitat; int lightflag = 0; int humflag = 0; int soilflag = 0; int tempflag = 0; int check; int test, test1; grau de bytes [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
configuració nul·la ()
{Serial.begin (9600); // Inicialitzar la sèrie per comunicar-se amb el mòdem GSM lcd.begin (16, 2); pinMode (terra, INPUT); lcd.createChar (1, grau); lcd.setCursor (0, 0); lcd.print ("Sanitat vegetal"); lcd.setCursor (0, 1); lcd.print ("Monitorització"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("PROJECTE AGRI"); lcd.setCursor (0, 1); lcd.print ("Per S K CHHAYA"); retard (1000); lcd.clear (); } void loop () {output_value = analogRead (terra); output_value = mapa (output_value, 550, 0, 0, 100); valor = analogRead (LUX); volt = (valor / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; retard (10000); // Doneu prou temps perquè GSM es registri a la xarxa DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (temperatura = temperatura DHT); // Dades temporals a LCD lcd.write (1); lcd.print ("C"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Humitat"); lcd.setCursor (0, 1); impressió lcd (humitat = humitat DHT); // Dades d’humitat a lcd.print LCD ("%"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Llum"); lcd.setCursor (0, 1); lcd.print (lux); // Dades de llum a LCD lcd.print ("LUM"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Humitat"); lcd.setCursor (0, 1); lcd.print (output_value); // Dades del sòl a LCD lcd.print ("%"); retard (1000); lcd.clear ();
if (temperatura 40) {SendSMS (); // SMS per a Temp alt} if (humitat 40) {SendSMS2 (); // SMS per humitat alta} if (lux 100) {SendSMS4 (); // SMS per a la llum alta} if (output_value == 950) {SendSMS7 (); // SMS per a sòls secs} else if (output_value! = 950) {SendSMS6 (); // SMS per a sòls humits}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT + CMGF = 1"); retard (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); retard (500); Serial.print ("Temp alt"); Serial.print ("Temp"); Serial.print (temperatura); Serial.println ("grau C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp alt"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); impressió lcd (temperatura); lcd.write (1); lcd.print ("C"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sending SMS"); retard (1000); lcd.clear (); tempflag = 1; comprovar = 0; prova = 0; retard (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT + CMGF = 1"); retard (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); retard (500); Serial.print ("Temp baix"); Serial.print ("Temp"); Serial.print (temperatura); Serial.println ("grau C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp baix"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); impressió lcd (temperatura); lcd.write (1); lcd.print ("C"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sending SMS"); retard (1000); lcd.clear (); tempflag = 0; comprovar = 0; prova = 0; retard (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT + CMGF = 1"); retard (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); retard (500); Serial.print ("Humitat alta"); Serial.print (humitat); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Humitat alta"); retard (1000); lcd.setCursor (0, 1); lcd.print ("Humitat"); impressió lcd (humitat); lcd.print ("%"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sending SMS"); retard (1000); lcd.clear (); humflag = 1; comprovar = 0; prova = 0; retard (10); }}
void SendSMS3 () {if (humflag == 1) {Serial.println ("AT + CMGF = 1"); retard (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); retard (500); Serial.print ("Humitat baixa"); Serial.print ("Humitat"); Serial.print (humitat); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Humitat baixa"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Humitat"); lcd.setCursor (0, 1); impressió lcd (humitat); lcd.print ("%"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sending SMS"); retard (1000); lcd.clear (); humflag = 0; comprovar = 0; prova = 0; retard (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT + CMGF = 1"); // Per enviar SMS en mode Text de retard (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); // Canvia a la demora del número de telèfon de destinació (500); Serial.print ("Bona LLUM"); Serial.print ("Intensitat"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // el caràcter de parada Ctrl + Z lcd.setCursor (0, 0); lcd.print ("Bona llum"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensitat"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sending SMS"); retard (1000); lcd.clear (); bandera lleugera = 1; comprovar = 0; prova = 0; retard (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT + CMGF = 1"); retard (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); retard (500); Serial.print ("LOW LIGHT"); Serial.print ("Intensitat"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Poca llum"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensitat"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sending SMS"); retard (1000); lcd.clear (); lightflag = 0; comprovar = 0; prova = 0; retard (10); }} void SendSMS6 () {if (soilflag == 0) {Serial.println ("AT + CMGF = 1"); retard (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); retard (500); Serial.print ("Sòl sec"); Serial.print ("Humitat"); Serial.print (output_value); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Sòl sec"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Humitat"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print ("%"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sending SMS"); retard (1000); lcd.clear (); soilflag = 1; comprovar = 0; prova = 0; retard (10); }} void SendSMS7 () {if (soilflag == 1) {Serial.println ("AT + CMGF = 1"); retard (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); retard (500); Serial.print ("sòl humit"); Serial.print ("Humitat"); Serial.print (output_value); Serial.println ("%"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("sòl humit"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Humitat"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print ("%"); retard (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Sending SMS"); retard (1000); lcd.clear (); soilflag = 0; comprovar = 0; prova = 0; retard (10); }}
Recomanat:
Sistema de monitorització visual basat en LoRa per a agricultura Iot - Disseny d'una aplicació frontal amb Firebase i Angular: 10 passos
Sistema de monitorització visual basat en LoRa per a agricultura Iot | Dissenyar una aplicació frontal amb Firebase i Angular: al capítol anterior parlem de com funcionen els sensors amb el mòdul loRa per omplir la base de dades en temps real de Firebase i hem vist el diagrama de molt alt nivell com funciona tot el nostre projecte. En aquest capítol parlarem de com podem
Alimentador automàtic de plantes WiFi amb dipòsit - Instal·lació de cultiu interior / exterior - Plantes d'aigua automàticament amb control remot: 21 passos
Alimentador automàtic de plantes WiFi amb dipòsit - Instal·lació de cultiu interior / exterior - Plantes d'aigua automàticament amb control remot: en aquest tutorial demostrarem com configurar un sistema d'alimentació de plantes personalitzat interior / exterior que regui les plantes automàticament i es pugui controlar de forma remota mitjançant la plataforma Adosia
Monitorització de plantes i alertes amb ESP8266 i AskSensors IoT Cloud: 6 passos
Monitorització de plantes i alertes amb ESP8266 i AskSensors IoT Cloud: aquest projecte té com a objectiu construir un sistema intel·ligent de control de plantes mitjançant ESP8266 i la plataforma AskSensors IoT. Aquest sistema es pot utilitzar per fer un seguiment del nivell d’humitat del sòl per proporcionar criteris objectius per a les decisions de reg. que ajuden a garantir el reg
Sistema de monitorització de plantes IoT (amb plataforma IBM IoT): 11 passos (amb imatges)
Sistema de monitorització de plantes IoT (amb la plataforma IBM IoT): visió general El sistema de monitorització de plantes (PMS) és una aplicació creada per a persones que pertanyen a la classe treballadora amb un polze verd en ment. Avui en dia, les persones que treballen estan més ocupades que mai; avançar en la seva carrera professional i gestionar les seves finances
Monitorització de temperatura ambient controlada per Raspberry Pi amb sortida d'imatges Gnuplot i capacitat d'alerta per correu electrònic: 7 passos
Monitorització de temperatura de l’habitació controlada per Raspberry Pi amb sortida d’imatges Gnuplot i capacitat d’alerta per correu electrònic: on treballo, hi ha una sala molt important que alberga molts ordinadors. La temperatura ambient d’aquesta habitació ha de ser molt fresca per optimitzar el rendiment d’aquests sistemes. Em van demanar que vingués amb un sistema de control que tingués la capacitat de