Cuprins:
- Pasul 1: Diagrama bloc a sistemului
- Pasul 2: Detaliu component
- Pasul 3: Diagrama circuitului
- Pasul 4: Fișier video și cod de lucru
- Pasul 5: Codul programului
Video: Monitorizarea instalației cu alertă SMS: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Aici creez monitorizarea plantelor cu alertă SMS. Serverul nu este necesar pentru acest sistem de alertă. Este un proiect foarte ieftin și de încredere.
Pasul 1: Diagrama bloc a sistemului
În serele actuale, sunt necesare multe măsurători ale parametrilor
să monitorizeze și să controleze buna calitate și productivitatea plantelor. Dar pentru a obține rezultatele dorite există câțiva factori foarte importanți care intră în joc, cum ar fi temperatura, umiditatea, lumina și solul bun, care sunt necesare pentru o creștere mai bună a plantelor. Ținând cont de acești parametri, am construit un sistem automat de monitorizare a plantelor pe modul GSM folosind Arduino. Acest sistem este foarte eficient pentru cultivarea plantelor de bună calitate. Cealaltă parte importantă a acestui proiect este că este complet automat și funcționează la tensiune joasă, cum ar fi; Alimentare DC 5-12V.
Acum, modulul GSM de câteva zile este utilizat pe scară largă pentru trimiterea stării SMS a oricărui tip de date. Aici, în acest proiect, folosind modulul SIM900A GSM putem păstra informații despre efectele climatului asupra plantelor. Sistemul va demonstra, de asemenea, schimbările climatice care afectează planta în ceea ce privește productivitatea și calitatea sa etc. umiditate.
Deoarece sunt cetățean indian, am folosit modulul SIM900A (A înseamnă rețea asiatică), dar puteți utiliza diferite tipuri de module SIM în funcție de țara dvs. Codurile AT pot diferi.
Pasul 2: Detaliu component
------------------ Măsoară patru tipuri de parametri, care merg
pentru a discuta mai jos: ------------------
Temperatura și umiditatea
Senzorul DHT11 este utilizat pentru detectarea temperaturii și umidității. Când temperatura și umiditatea sunt ridicate, rădăcina plantelor este deteriorată și creșterea plantei nu este bine.
Intensitatea luminii
Intensitatea luminii este un factor important pentru creșterea plantelor. Pentru detectarea intensității luminii se folosește LDR (rezistență dependentă de lumină). Intensitatea luminii este măsurată în LUX și, prin urmare, pentru demonstrație, se utilizează 100 LUX, așa cum este definit sau nivelul pragului.
Umiditatea solului
Umiditatea solului conținută este foarte importantă pentru o bună creștere a plantelor. Aici senzorul de sol este utilizat pentru a măsura conținutul de umiditate din sol. Folosind cu acest senzor putem măsura datele solului în ambele sensuri, atât analogice, cât și digitale.
Notificare prin SMS:
Atunci când valoarea oricăruia dintre parametrii de mai sus este depășită de la un nivel definit sau un nivel critic, sistemul trimite automat SMS către proprietar sau operator cu informații despre parametrii asociați și când valoarea se situează în interval normal sau sub nivelul definit din nou sistemul automat trimite SMS către proprietar sau operator cu informații despre datele aferente.
Notificarea se trimite o singură dată până când condiția nu se modifică, astfel încât proprietarul sau operatorul să nu primească SMS-uri frecvente. Prin urmare, este necesar un pachet SMS mai mic.
Pasul 3: Diagrama circuitului
Toate aceste piese sunt ușor disponibile la orice site de cumpărături online
sau cu un cunoscut distribuitor de piese electronice. Toate fișele tehnice ale componentelor sunt disponibile pe web. Dacă aveți dificultăți, nu ezitați să contactați prin e-mailul meu.
Pasul 4: Fișier video și cod de lucru
Video final de lucru al proiectului
Pasul 5: Codul programului
#include
#include
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #define soil A3
float volt, lux, valoare; int output_value; temperatura int, umiditatea; int lightflag = 0; int humflag = 0; int soilflag = 0; int tempflag = 0; verificare int; int test, test1; grad de octeți [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
configurare nulă ()
{Serial.begin (9600); // Inițializați serialul pentru a comunica cu modemul GSM lcd.begin (16, 2); pinMode (sol, INPUT); lcd.createChar (1, grad); lcd.setCursor (0, 0); lcd.print („Sănătatea plantelor”); lcd.setCursor (0, 1); lcd.print („Moniterare”); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („PROIECT AGRI”); lcd.setCursor (0, 1); lcd.print („De S K CHHAYA”); întârziere (1000); lcd.clear (); } void loop () {output_value = analogRead (soil); output_value = hartă (output_value, 550, 0, 0, 100); valoare = analogRead (LUX); volt = (valoare / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; întârziere (10000); // Acordați suficient timp pentru ca GSM să se înregistreze pe rețeaua DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (temperatura = temperatura DHT.); // Date temporare pe LCD lcd.write (1); lcd.print ("C"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Umiditate"); lcd.setCursor (0, 1); lcd.print (umiditate = DHT.umiditate); // Date privind umiditatea pe LCD lcd.print ("%"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lumina"); lcd.setCursor (0, 1); lcd.print (lux); // Date luminoase pe LCD lcd.print ("LUM"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Umiditate"); lcd.setCursor (0, 1); lcd.print (output_value); // Date despre sol pe LCD lcd.print ("%"); întârziere (1000); lcd.clear ();
if (temperatura 40) {SendSMS (); // SMS pentru Temp ridicat} if (umiditate 40) {SendSMS2 (); // SMS pentru umiditate ridicată} if (lux 100) {SendSMS4 (); // SMS pentru Light high} if (output_value == 950) {SendSMS7 (); // SMS pentru sol uscat} else if (output_value! = 950) {SendSMS6 (); // SMS pentru sol umed}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT + CMGF = 1"); întârziere (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); întârziere (500); Serial.print ("Temp High"); Serial.print ("Temp"); Serial.print (temperatura); Serial.println („gradul C”); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); lcd.print (temperatura); lcd.write (1); lcd.print ("C"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Trimiterea de SMS”); întârziere (1000); lcd.clear (); tempflag = 1; verifica = 0; test = 0; întârziere (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT + CMGF = 1"); întârziere (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); întârziere (500); Serial.print ("Temp Low"); Serial.print ("Temp"); Serial.print (temperatura); Serial.println („gradul C”); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura"); lcd.setCursor (0, 1); lcd.print (temperatura); lcd.write (1); lcd.print ("C"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Trimiterea de SMS”); întârziere (1000); lcd.clear (); tempflag = 0; verifica = 0; test = 0; întârziere (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT + CMGF = 1"); întârziere (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); întârziere (500); Serial.print ("Umiditate ridicată"); Serial.print (umiditate); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Umiditate ridicată”); întârziere (1000); lcd.setCursor (0, 1); lcd.print ("Umiditate"); lcd.print (umiditate); lcd.print ("%"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Trimiterea de SMS”); întârziere (1000); lcd.clear (); humflag = 1; verifica = 0; test = 0; întârziere (10); }}
void SendSMS3 () {if (humflag == 1) {Serial.println ("AT + CMGF = 1"); întârziere (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); întârziere (500); Serial.print („Umiditate scăzută”); Serial.print ("Umiditate"); Serial.print (umiditate); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Umiditate scăzută”); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Umiditate"); lcd.setCursor (0, 1); lcd.print (umiditate); lcd.print ("%"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Trimiterea de SMS”); întârziere (1000); lcd.clear (); humflag = 0; verifica = 0; test = 0; întârziere (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT + CMGF = 1"); // Pentru a trimite SMS în modul Text întârziere (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); // Treceți la întârzierea numărului de telefon de destinație (500); Serial.print („LUMINĂ bună”); Serial.print („Intensitate”); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // caracterul de oprire Ctrl + Z lcd.setCursor (0, 0); lcd.print („Lumina bună”); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Intensitate”); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Trimiterea de SMS”); întârziere (1000); lcd.clear (); lightflag = 1; verifica = 0; test = 0; întârziere (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT + CMGF = 1"); întârziere (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); întârziere (500); Serial.print ("LIGHT LIGHT"); Serial.print („Intensitate”); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Lumina slabă”); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Intensitate”); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Trimiterea de SMS”); întârziere (1000); lcd.clear (); lightflag = 0; verifica = 0; test = 0; întârziere (10); }} void SendSMS6 () {if (soilflag == 0) {Serial.println ("AT + CMGF = 1"); întârziere (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); întârziere (500); Serial.print („Sol uscat”); Serial.print ("Umiditate"); Serial.print (output_value); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print („Sol uscat”); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Umiditate"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print ("%"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Trimiterea de SMS”); întârziere (1000); lcd.clear (); soilflag = 1; verifica = 0; test = 0; întârziere (10); }} void SendSMS7 () {if (soilflag == 1) {Serial.println ("AT + CMGF = 1"); întârziere (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); întârziere (500); Serial.print („Sol umed”); Serial.print ("Umiditate"); Serial.print (output_value); Serial.println ("%"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Sol umed”); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Umiditate"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print ("%"); întârziere (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Trimiterea de SMS”); întârziere (1000); lcd.clear (); soilflag = 0; verifica = 0; test = 0; întârziere (10); }}
Recomandat:
Seria IoT ESP8266: 2- Monitorizarea datelor prin ThingSpeak.com: 5 pași
Seria IoT ESP8266: 2- Monitorizarea datelor prin ThingSpeak.com: Aceasta este partea a doua a seriei IoT ESP8266. Pentru a vedea partea 1, consultați acest instructabil seria IoT ESP8266: 1 Conectați-vă la routerul WIFI. Această parte are scopul de a vă arăta cum să trimiteți datele senzorilor dvs. la unul dintre serviciile populare cloud IoT gratuite https: //thingspeak.com
Arduino, monitorizarea deschiderii ușii prin Gmail: 6 pași
Arduino, Monitorizarea deschiderii ușii prin Gmail: În acest tutorial, vă voi arăta cum să detectați evenimentul de deschidere a ușii și să trimit o notificare prin Gmail folosind Arduino Uno. Dacă sunteți începător, puteți afla despre wifi și senzor în Arduino - WiFi și Arduino - Tutoriale senzor de ușă. Să
Monitorizarea a două uși de garaj: 4 pași
Monitorizarea a două uși de garaj: în 2016 ne-am mutat într-o casă nouă, unde ușile garajului sunt amplasate într-un mod în care nu le puteți vedea de la intrarea principală a casei. Deci nu puteți fi sigur dacă ușile sunt închise sau deschise. Numai pentru monitorizare, foștii proprietari au instalat un comutator de presă
Monitorizați galoanele rezervorului de ulei de încălzire cu e-mail, SMS și alertă cu glugă: 9 pași (cu imagini)
Monitorizați galoanele rezervorului de ulei de încălzire cu avertizare prin e-mail, SMS și pushbullet: INFORMAȚII DE SIGURANȚĂ: În cazul în care cineva dorește să știe dacă " acest lucru este sigur de construit / instalat " - Am dus acest lucru la 2 companii petroliere diferite din motive de feedback / siguranță și am condus acest lucru de către deputatul de prevenire a incendiilor C
Monitorizarea temperaturii camerei controlată Raspberry Pi cu ieșire de imagine Gnuplot și capacitate de alertă prin e-mail: 7 pași
Monitorizarea temperaturii camerei controlată Raspberry Pi cu ieșire de imagine Gnuplot și abilitate de alertă prin e-mail: Unde lucrez, există o cameră foarte importantă, care găzduiește o mulțime de computere. Temperatura ambiantă a acestei camere trebuie să fie foarte rece pentru a optimiza performanța acestor sisteme. Mi s-a cerut să vin cu un sistem de monitorizare care are capacitatea de a