Inhaltsverzeichnis:
- Schritt 1: Blockschaltbild des Systems
- Schritt 2: Komponentendetails
- Schritt 3: Schaltplan
- Schritt 4: Video- und Codedatei arbeiten
- Schritt 5: Programmcode
Video: Anlagenüberwachung mit SMS-Benachrichtigung - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Hier erstelle ich eine Anlagenüberwachung mit SMS-Alarm. Server ist für dieses Warnsystem nicht erforderlich. Es ist ein sehr billiges und zuverlässiges Projekt.
Schritt 1: Blockschaltbild des Systems
In heutigen Gewächshäusern sind viele Parametermessungen erforderlich
zur Überwachung und Kontrolle der guten Qualität und Produktivität der Anlagen. Um die gewünschten Ergebnisse zu erzielen, spielen jedoch einige sehr wichtige Faktoren wie Temperatur, Luftfeuchtigkeit, Licht und guter Boden eine Rolle, die für ein besseres Pflanzenwachstum notwendig sind. Unter Berücksichtigung dieser Parameter habe ich mit Arduino ein automatisches Anlagenüberwachungssystem über ein GSM-Modul gebaut. Dieses System ist sehr effizient für den Anbau hochwertiger Pflanzen. Der andere wichtige Teil dieses Projekts ist, dass es vollautomatisch ist und mit Niederspannung arbeitet; 5-12V DC-Versorgung.
Heutzutage wird das GSM-Modul häufig zum Senden von SMS-Status jeder Art von Daten verwendet. Hier in diesem Projekt können wir mit dem SIM900A GSM-Modul Informationen über die Auswirkungen des Klimas auf Pflanzen speichern. Das System soll auch klimatische Veränderungen demonstrieren, die die Pflanze in ihrer Produktivität und Qualität usw. beeinflussen. Der Hauptzweck dieses Projekts ist der Aufbau einer automatischen Anlagenüberwachung, bei der das GSM-Modul die Informationen über Temperatur, Feuchtigkeit, Lichtintensität, Boden sendet Feuchtigkeit.
Da ich indischer Staatsbürger bin, habe ich das SIM900A-Modul (A steht für asiatisches Netzwerk) verwendet, aber Sie können je nach Land verschiedene Arten von SIM-Modulen verwenden. Die AT-Codes können abweichen.
Schritt 2: Komponentendetails
------------------ Ich messe vier Arten von Parametern, die gehen
unten zu diskutieren: ------------------
Temperatur und Luftfeuchtigkeit
Der Sensor DHT11 dient zur Erfassung von Temperatur und Luftfeuchtigkeit. Wenn die Temperatur und Luftfeuchtigkeit hoch sind, wird die Wurzel der Pflanzen beschädigt und das Pflanzenwachstum wird nicht gut.
Lichtintensität
Die Lichtintensität ist ein wichtiger Faktor für das Pflanzenwachstum. Zur Erfassung der Lichtintensität wird LDR (Light Dependent Resistance) verwendet. Die Lichtintensität wird in LUX gemessen und daher wird zur Demonstration 100 LUX Licht als definierter oder Schwellenwert verwendet.
Bodenfeuchtigkeit
Der Feuchtigkeitsgehalt des Bodens ist für ein gutes Pflanzenwachstum sehr wichtig. Hier wird der Bodensensor verwendet, um den Feuchtigkeitsgehalt im Boden zu messen. Mit diesem Sensor können wir Bodendaten sowohl analog als auch digital messen.
SMS-Benachrichtigung:
Wenn der Wert eines der oben genannten Parameter ein definiertes Niveau oder ein kritisches Niveau überschreitet, sendet das System automatisch eine SMS mit Informationen zu den zugehörigen Parametern an den Eigentümer oder den Betreiber, und wenn der Wert in den normalen Bereich oder unter das definierte Niveau fällt, wird das System automatisch wieder aktiviert Senden Sie eine SMS an den Eigentümer oder den Betreiber mit Informationen zu den zugehörigen Daten.
Die Benachrichtigung wird nur einmal gesendet, bis sich der Zustand nicht ändert, sodass der Besitzer oder Betreiber keine häufigen SMS erhält. Daher ist ein niedrigeres SMS-Paket erforderlich.
Schritt 3: Schaltplan
Diese alle Teile sind leicht auf jeder Online-Shopping-Site erhältlich
oder bei namhaften Elektronik-Ersatzteilhändlern. Alle Komponentendatenblätter sind im Internet verfügbar. Bei Schwierigkeiten wenden Sie sich bitte an meine E-Mail.
Schritt 4: Video- und Codedatei arbeiten
Abschließendes Arbeitsvideo des Projekts
Schritt 5: Programmcode
#enthalten
#enthalten
Flüssigkristall-LCD (2, 3, 4, 5, 6, 7);
dht-DHT; #define dht_dpin A1 #define LUX A0 #define Boden A3
Float Volt, Lux, Wert; int Ausgabewert; int Temperatur, Luftfeuchtigkeit; int Lichtfahne = 0; int-Humflag = 0; int Bodenflagge = 0; int templag = 0; int-Prüfung; int-Test, Test1; Byte-Grad[8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
Void-Setup ()
{ Serial.begin (9600); // Seriell initialisieren, um mit GSM-Modem zu kommunizieren lcd.begin (16, 2); pinMode (Boden, EINGANG); lcd.createChar(1, Grad); lcd.setCursor(0, 0); lcd.print("Pflanzengesundheit"); lcd.setCursor(0, 1); lcd.print("Überwachung"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("AGRI-PROJEKT"); lcd.setCursor(0, 1); lcd.print ("Von S K CHHAYA"); Verzögerung (1000); lcd.clear(); aufrechtzuerhalten. Void Schleife () { Ausgabewert = analogRead (Boden); Ausgabewert = Karte (Ausgabewert, 550, 0, 0, 100); Wert = analogRead (LUX); Volt = (Wert / 1023.0) * 5; Lux = ((2500 / Volt) - 500) / 3,3; Verzögerung (10000); // Geben Sie GSM genügend Zeit, um sich im Netzwerk zu registrieren DHT.read11 (dht_dpin); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temp"); lcd.setCursor(0, 1); lcd.print (Temperatur = DHT. Temperatur); // Temp-Daten auf LCD lcd.write (1); lcd.print("C"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Luftfeuchtigkeit"); lcd.setCursor(0, 1); lcd.print (Luftfeuchtigkeit = DHT. Luftfeuchtigkeit); // Feuchtigkeitsdaten auf LCD lcd.print ("%"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Licht"); lcd.setCursor(0, 1); lcd.print (lux); // Lichtdaten auf LCD lcd.print ("LUM"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Feuchtigkeit"); lcd.setCursor(0, 1); lcd.print (Ausgabewert); // Bodendaten auf LCD lcd.print ("%"); Verzögerung (1000); lcd.clear();
if (Temperatur 40) { SendSMS(); // SMS für Temp hoch} if (Luftfeuchtigkeit 40) { SendSMS2(); // SMS für Luftfeuchtigkeit hoch} if (lux 100) { SendSMS4(); // SMS für Licht hoch} if (output_value == 950) { SendSMS7(); // SMS für trockenen Boden} else if (output_value!= 950) { SendSMS6(); // SMS für nassen Boden}} void SendSMS () { if (tempflag == 0) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Temp hoch,"); Serial.print ("Temp"); Serial.print (Temperatur); Serial.println ("Grad C"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print("Temp hoch"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temperatur"); lcd.setCursor(0, 1); lcd.print (Temperatur); lcd.write(1); lcd.print("C"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Temperaturunterschied = 1; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS1 () { if (tempflag == 1) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Temp niedrig,"); Serial.print ("Temp"); Serial.print (Temperatur); Serial.println ("Grad C"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print("Temp niedrig"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temperatur"); lcd.setCursor(0, 1); lcd.print (Temperatur); lcd.write(1); lcd.print("C"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Temperaturschwankung = 0; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS2 () { if (humflag == 0) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Luftfeuchtigkeit hoch"); Serial.print (Luftfeuchtigkeit); Serial.println("%"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print("Luftfeuchtigkeit hoch"); Verzögerung (1000); lcd.setCursor(0, 1); lcd.print("Luftfeuchtigkeit"); lcd.print (Luftfeuchtigkeit); lcd.print(" %"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Humflag = 1; prüfen = 0; Test = 0; Verzögerung(10); } }
Void SendSMS3 () { if (humflag == 1) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Niedrige Luftfeuchtigkeit",); Serial.print ("Feuchtigkeit"); Serial.print (Luftfeuchtigkeit); Serial.println("%"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print ("Niedrige Luftfeuchtigkeit"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Luftfeuchtigkeit"); lcd.setCursor(0, 1); lcd.print (Luftfeuchtigkeit); lcd.print(" %"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Humflag = 0; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS4 () { if (lightflag == 0) { Serial.println ("AT + CMGF = 1"); // Um SMS im Textmodus zu senden Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); // Zur Zielrufnummer wechseln Verzögerung (500); Serial.print ("Gutes LICHT,"); Serial.print ("Intensität"); Serial.print (lux); Serial.println("LUX"); Serial.println ((Zeichen)26); // das Stoppzeichen Strg+Z lcd.setCursor (0, 0); lcd.print ("Gutes Licht"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Intensität"); lcd.setCursor(0, 1); lcd.print (lux); lcd.print("LUX"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Lichtfahne = 1; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS5 () { if (lightflag == 1) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("LOW LICHT,"); Serial.print ("Intensität"); Serial.print (lux); Serial.println("LUX"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print("Low light"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Intensität"); lcd.setCursor(0, 1); lcd.print (lux); lcd.print("LUX"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Lichtfahne = 0; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS6 () { if (Soilflag == 0) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Trockener Boden",); Serial.print ("Feuchtigkeit"); Serial.print (Ausgabewert); Serial.println("%"); Serial.println ((Zeichen)26); lcd.setCursor(0, 0); lcd.print("Trockener Boden"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Feuchtigkeit"); lcd.setCursor(0, 1); lcd.print (Ausgabewert); lcd.print(" %"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Bodenflagge = 1; prüfen = 0; Test = 0; Verzögerung(10); aufrechtzuerhalten. aufrechtzuerhalten. aufrechtzuerhalten. Void SendSMS7 () { if (Soilflag == 1) { Serial.println ("AT + CMGF = 1"); Verzögerung (500); Serial.println("AT+CMGS=\"+919979897404\"\r"); Verzögerung (500); Serial.print ("Nasser Boden,"); Serial.print ("Feuchtigkeit"); Serial.print (Ausgabewert); Serial.println("%"); Serial.println ((Zeichen)26); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Nasser Boden"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Feuchtigkeit"); lcd.setCursor(0, 1); lcd.print (Ausgabewert); lcd.print(" %"); Verzögerung (1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("SMS senden"); Verzögerung (1000); lcd.clear(); Bodenflagge = 0; prüfen = 0; Test = 0; Verzögerung(10); } }
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
Beginnen Sie mit Light Painting (kein Photoshop): 5 Schritte (mit Bildern)
Beginnend mit Light Painting (kein Photoshop): Ich habe vor kurzem eine neue Kamera gekauft und einige ihrer Funktionen untersucht, als ich im Internet auf Light Painting oder Langzeitbelichtung gestoßen bin. Die meisten von uns werden die Grundform des Lightpaintings mit einem Foto in einer Stadt mit einer Straße gesehen haben