Sommario:
- Passaggio 1: diagramma a blocchi del sistema
- Passaggio 2: dettaglio del componente
- Passaggio 3: schema elettrico
- Passaggio 4: video di lavoro e file di codice
- Passaggio 5: codice di programma
Video: Monitoraggio dell'impianto con SMS Alert: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Qui creo il monitoraggio dell'impianto con avviso SMS. Il server non è richiesto per questo sistema di avviso. È un progetto molto economico e affidabile.
Passaggio 1: diagramma a blocchi del sistema
Nelle serre di oggi sono necessarie molte misurazioni di parametri
monitorare e controllare la buona qualità e produttività degli impianti. Ma per ottenere i risultati desiderati entrano in gioco alcuni fattori molto importanti come Temperatura, Umidità, Luce e Buon Terreno, necessari per una migliore crescita delle piante. Tenendo a mente questi parametri ho costruito un sistema di monitoraggio automatico dell'impianto su modulo GSM utilizzando Arduino. Questo sistema è molto efficiente per coltivare piante di buona qualità. L'altra parte importante di questo progetto è che è completamente automatico e funziona come a bassa tensione; Alimentazione 5-12V CC.
Oggigiorno il modulo GSM è ampiamente utilizzato per l'invio di SMS di stato di qualsiasi tipo di dati. Qui in questo progetto utilizzando il modulo GSM SIM900A possiamo conservare le informazioni sugli effetti del clima sulle piante. Il sistema deve anche dimostrare i cambiamenti climatici che influenzano l'impianto nella sua produttività e qualità, ecc. Lo scopo principale di realizzare questo progetto è costruire un monitoraggio automatico dell'impianto in cui il modulo GSM invia le informazioni su temperatura, umidità, intensità della luce, suolo umidità.
Poiché sono cittadino indiano, ho utilizzato il modulo SIM900A (A sta per rete asiatica) ma puoi utilizzare diversi tipi di modulo SIM secondo il tuo paese. I codici AT possono differire.
Passaggio 2: dettaglio del componente
------------------- Misuro quattro tipi di parametri, che stanno andando
da discutere di seguito: ------------------
Temperatura e umidità
Il sensore DHT11 viene utilizzato per rilevare la temperatura e l'umidità. Quando la temperatura e l'umidità sono elevate, la radice delle piante è danneggiata e la crescita della pianta non è buona.
Intensità luminosa
L'intensità della luce è un fattore importante per la crescita delle piante. Per rilevare l'intensità della luce viene utilizzato LDR (resistenza dipendente dalla luce). L'intensità della luce viene misurata in LUX e quindi per la dimostrazione viene utilizzata una luce di 100 LUX come livello definito o soglia.
Umidità del suolo
L'umidità del suolo è molto importante per una buona crescita delle piante. Qui il sensore del suolo viene utilizzato per misurare il contenuto di umidità nel suolo. Utilizzando questo sensore possiamo misurare i dati del suolo in entrambi i modi, sia analogici che digitali.
Notifica SMS:
Quando il valore di uno qualsiasi dei parametri sopra indicati viene superato da un livello definito o livello critico, il sistema invia automaticamente SMS al proprietario o all'operatore con le informazioni sui parametri correlati e quando il valore rientra nell'intervallo normale o al di sotto del livello definito il sistema automaticamente inviare SMS al titolare o all'operatore con l'informativa dei relativi dati.
La notifica viene inviata una sola volta fino a quando la condizione non cambia in modo che il proprietario o l'operatore non ricevano SMS frequenti. Pertanto, è necessario un pacchetto SMS inferiore.
Passaggio 3: schema elettrico
Tutte queste parti sono facilmente disponibili in qualsiasi sito di shopping online
o con un noto rivenditore di ricambi di elettronica. Tutti i datasheet dei componenti sono disponibili sul web. In caso di difficoltà non esitate a contattare sulla mia posta.
Passaggio 4: video di lavoro e file di codice
Video di lavoro finale del progetto
Passaggio 5: codice di programma
#includere
#includere
LCD a cristalli liquidi (2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #define suolo A3
float volt, lux, valore; int valore_output; int temperatura, umidità; int bandiera luminosa = 0; int contrassegno = 0; int flag del suolo = 0; int flag temp = 0; controllo interno; int prova, prova1; byte grado[8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 };
configurazione nulla()
{ Serial.begin(9600); //Inizializza la seriale per comunicare con il Modem GSM lcd.begin(16, 2); pinMode(terreno, INPUT); lcd.createChar(1, grado); lcd.setCursor(0, 0); lcd.print("Salute delle piante"); lcd.setCursor(0, 1); lcd.print("Monitoraggio"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("PROGETTO AGRI"); lcd.setCursor(0, 1); lcd.print("Di S K CHHAYA"); ritardo(1000); lcd.clear(); } void loop() { output_value = analogRead(suolo); output_value = map(output_value, 550, 0, 0, 100); valore = analogRead(LUX); volt = (valore / 1023.0) * 5; lux = ((2500 / volt) - 500) / 3,3; ritardo (10000); //Dai abbastanza tempo al GSM per registrarsi sulla rete DHT.read11(dht_dpin); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temp"); lcd.setCursor(0, 1); lcd.print(temperatura = DHT.temperatura); // Dati di temperatura su LCD lcd.write(1); lcd.print("C"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Umidità"); lcd.setCursor(0, 1); lcd.print(umidità = DHT.umidità); // Dati umidità su LCD lcd.print(" %"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Luce"); lcd.setCursor(0, 1); lcd.print(lux); // Dati luce su LCD lcd.print(" LUM"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Umidità"); lcd.setCursor(0, 1); lcd.print(output_value); // Dati del suolo su LCD lcd.print(" %"); ritardo(1000); lcd.clear();
if (temperatura 40) { SendSMS(); // SMS per Temp alta } if (umidità 40) { SendSMS2(); // SMS per umidità alta } if (lux 100) { SendSMS4(); // SMS per Light high } if (output_value == 950) { SendSMS7(); // SMS for Dry Soil } else if (output_value != 950) { SendSMS6(); // SMS per terreno umido } } void SendSMS() { if (tempflag == 0) { Serial.println("AT+CMGF=1"); ritardo (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); ritardo (500); Serial.print("Temperatura alta, "); Serial.print("Temp"); Serial.print(temperatura); Serial.println(" grado C"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Temperatura alta"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temperatura"); lcd.setCursor(0, 1); lcd.print(temperatura); lcd.write(1); lcd.print("C"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Invio SMS"); ritardo(1000); lcd.clear(); tempflag = 1; verifica = 0; prova = 0; ritardo(10); } } void SendSMS1() { if (tempflag == 1) { Serial.println("AT+CMGF=1"); ritardo (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); ritardo (500); Serial.print("Temp. bassa, "); Serial.print("Temp"); Serial.print(temperatura); Serial.println("grado C"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Temp. bassa"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temperatura"); lcd.setCursor(0, 1); lcd.print(temperatura); lcd.write(1); lcd.print("C"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Invio SMS"); ritardo(1000); lcd.clear(); tempflag = 0; verifica = 0; prova = 0; ritardo(10); } } void SendSMS2() { if (humflag == 0) { Serial.println("AT+CMGF=1"); ritardo (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); ritardo (500); Serial.print("Umidità alta"); Serial.print(umidità); Serial.println("%"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Umidità alta"); ritardo(1000); lcd.setCursor(0, 1); lcd.print("Umidità"); lcd.print(umidità); lcd.print("%"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Invio SMS"); ritardo(1000); lcd.clear(); humflag = 1; verifica = 0; prova = 0; ritardo(10); } }
void SendSMS3() { if (humflag == 1) { Serial.println("AT+CMGF=1"); ritardo (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); ritardo (500); Serial.print("Bassa umidità, "); Serial.print(" Umidità "); Serial.print(umidità); Serial.println("%"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Bassa umidità"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Umidità"); lcd.setCursor(0, 1); lcd.print(umidità); lcd.print("%"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Invio SMS"); ritardo(1000); lcd.clear(); humflag = 0; verifica = 0; prova = 0; ritardo(10); } } void SendSMS4() { if (flag luminoso == 0) { Serial.println("AT+CMGF=1"); //Per inviare SMS in modalità testo delay(500); Serial.println("AT+CMGS=\"+919979897404\"\r"); //Cambia al numero di telefono di destinazione delay(500); Serial.print("Buona LUCE, "); Serial.print(" Intensità "); Serial.print(lux); Serial.println(" LUX"); Serial.println((char)26); //il carattere di arresto Ctrl+Z lcd.setCursor(0, 0); lcd.print("Buona luce"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Intensità"); lcd.setCursor(0, 1); lcd.print(lux); lcd.print(" LUX"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Invio SMS"); ritardo(1000); lcd.clear(); bandiera luminosa = 1; verifica = 0; prova = 0; ritardo(10); } } void SendSMS5() { if (flag luminoso == 1) { Serial.println("AT+CMGF=1"); ritardo (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); ritardo (500); Serial.print("LUCE BASSA, "); Serial.print(" Intensità "); Serial.print(lux); Serial.println(" LUX"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Luce scarsa"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Intensità"); lcd.setCursor(0, 1); lcd.print(lux); lcd.print(" LUX"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Invio SMS"); ritardo(1000); lcd.clear(); bandiera luminosa = 0; verifica = 0; prova = 0; ritardo(10); } } void SendSMS6() { if (soilflag == 0) { Serial.println("AT+CMGF=1"); ritardo (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); ritardo (500); Serial.print("Terreno secco, "); Serial.print("Umidità"); Serial.print(output_value); Serial.println("%"); Serial.println((char)26); lcd.setCursor(0, 0); lcd.print("Terreno asciutto"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Umidità"); lcd.setCursor(0, 1); lcd.print(output_value); lcd.print("%"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Invio SMS"); ritardo(1000); lcd.clear(); bandiera del suolo = 1; verifica = 0; prova = 0; ritardo(10); } } void SendSMS7() { if (soilflag == 1) { Serial.println("AT+CMGF=1"); ritardo (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); ritardo (500); Serial.print("Terreno umido, "); Serial.print("Umidità"); Serial.print(output_value); Serial.println("%"); Serial.println((char)26); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Terreno umido"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Umidità"); lcd.setCursor(0, 1); lcd.print(output_value); lcd.print("%"); ritardo(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Invio SMS"); ritardo(1000); lcd.clear(); bandiera del suolo = 0; verifica = 0; prova = 0; ritardo(10); } }
Consigliato:
Kit per auto di monitoraggio robot intelligente fai-da-te Monitoraggio fotosensibile dell'auto: 7 passaggi
Fai da te Smart Robot Tracking Car Kit Tracking Car Photosensitive: Design by SINONING ROBOTÈ possibile acquistare da tracking robot carTheoryLM393 chip confrontare i due fotoresistori, quando c'è un LED fotoresistore laterale su BIANCO il lato del motore si fermerà immediatamente, l'altro lato del motore girare, in modo che
PInt@t10n: Sistema di monitoraggio dell'impianto intelligente: 9 passaggi
PInt@t10n: Smart Plant Monitoring System: PI@nt@t10nQuesto progetto è stato creato come test per ibm iot cloud. Usiamo un esp-8266 per inviare e ricevere dati da e verso il cloud IBM. La comunicazione tra esp e ibm cloud avviene tramite MQTT. Per gestire tutti i dati e presentare
Gestione dell'impianto basata sul peso solare con ESP32: 7 passaggi (con immagini)
Gestione delle piante basata sul peso solare con ESP32: coltivare le piante è divertente e annaffiare e prendersene cura non è davvero una seccatura. Le applicazioni di microcontrollori per monitorare la loro salute sono ovunque su Internet e l'ispirazione per il loro design deriva dalla natura statica delle piante e dalla facilità di monitoraggio
Monitoraggio e avvisi dell'impianto con ESP8266 e AskSensors IoT Cloud: 6 passaggi
Monitoraggio e avvisi delle piante con ESP8266 e AskSensors IoT Cloud: questo progetto mira a costruire un sistema di monitoraggio intelligente delle piante utilizzando ESP8266 e la piattaforma AskSensors IoT. Questo sistema può essere utilizzato per tenere traccia del livello di umidità del suolo per fornire criteri oggettivi per le decisioni di irrigazione. che aiutano a garantire l'irrigazione
Sistema di monitoraggio dell'impianto IoT (con piattaforma IoT IBM): 11 passaggi (con immagini)
IoT Plant Monitoring System (con piattaforma IBM IoT): PanoramicaIl Plant Monitoring System (PMS) è un'applicazione creata con le persone che appartengono alla classe operaia con un pollice verde in mente. Oggi, gli individui che lavorano sono più occupati che mai; avanzare nella propria carriera e gestire le proprie finanze