Inhaltsverzeichnis:

Warnsystem für feuchtigkeitsarme Böden für Ihre Pflanze - Gunook
Warnsystem für feuchtigkeitsarme Böden für Ihre Pflanze - Gunook

Video: Warnsystem für feuchtigkeitsarme Böden für Ihre Pflanze - Gunook

Video: Warnsystem für feuchtigkeitsarme Böden für Ihre Pflanze - Gunook
Video: Hänsch MOWACOM / Warnsystem für Katastrophenschutz und Großeinsatzlagen 2024, Kann
Anonim
Warnsystem für feuchtigkeitsarme Böden für Ihre Pflanze
Warnsystem für feuchtigkeitsarme Böden für Ihre Pflanze

In mehreren Wohnhäusern sind Krüge mit verschiedenen Pflanzenarten üblich. Und bei der Vielzahl der alltäglichen Aktivitäten vergessen die Menschen, ihre Pflanzen zu gießen und sterben aus Mangel an Wasser.

Um dieses Problem zu vermeiden, haben wir uns entschieden, ein System zu entwickeln, das informiert, wenn eine Pflanze kein Wasser hat. Auf diese Weise vergessen Sie nie, Ihre Pflanze zu bewässern und sie bleibt lange am Leben. Als nächstes stellen wir die gesamte Entwicklung dieses Projekts vor.

Lieferungen

  • PCBWay Kundenspezifische PCB
  • Analoger Bodenfeuchtesensor für Arduino
  • Arduino UNO
  • Überbrückungsdrähte (allgemein)
  • Standard-LCD - 16 x 2 Blau
  • UTSOURCE Drehpotentiometer 10k

Schritt 1: Projektentwicklung

Projektentwicklung
Projektentwicklung

Eine Möglichkeit, die Wassermenge in der Pflanze zu ermitteln, ist der Feuchtigkeitsparameter. Je weniger Wasser sich also im Gefäß unserer Pflanze befindet, desto geringer ist die Bodenfeuchtigkeit.

Daher müssen wir einen Feuchtigkeitssensor verwenden, um den Feuchtigkeitszustand in unserer Anlage zu analysieren.

Dadurch haben wir mit Arduino eine im Steckbrett montierte Schaltung eingerichtet, um die Überwachung und Anzeige der niedrigen Luftfeuchtigkeit des Kaktusglases durchzuführen. Also, mittels des Displays LCD, um unseren Benutzer über die Feuchtigkeit zu informieren, wie in Abbildung 1 gezeigt.

Schritt 2: Einsetzen des Feuchtigkeitssensors in den Stromkreis

Einsetzen des Feuchtigkeitssensors in den Stromkreis
Einsetzen des Feuchtigkeitssensors in den Stromkreis
Einsetzen des Feuchtigkeitssensors in den Stromkreis
Einsetzen des Feuchtigkeitssensors in den Stromkreis

Aus der obigen Schaltung stecken wir die Sonde zur Feuchtemessung in die Anlage ein, die wir überwachen möchten. In unserem Projekt führen wir eine Sonde in einen kleinen Kaktus ein, wie in Abbildung 2 gezeigt.

Jetzt werden wir Schritt für Schritt sehen, wie man die Arbeit projektiert und im Folgenden lernen, wie man den Steuercode erstellt. Wenn wir den Sensor zunächst nicht im Glas anschließen, hat das Gerät einen niedrigen Feuchtigkeitsgehalt von 2% außen das Kaktusglas. Dies ist in Abbildung 3 zu sehen.

Schritt 3: Verstehen Sie die Feuchtigkeitswerte

Verstehen Sie die Feuchtigkeitswerte
Verstehen Sie die Feuchtigkeitswerte
Verstehen Sie die Feuchtigkeitswerte
Verstehen Sie die Feuchtigkeitswerte

Dieser niedrige Prozentwert steht für eine niedrige Luftfeuchtigkeit. Nach dem Einsetzen des Sensors in den Boden des Kaktusglases wird nun ein Wert von 36% angezeigt, wie in Abbildung 4 dargestellt. Das heißt, unsere Luftfeuchtigkeit ist niedrig und das System zeigt die Meldung Niedrige Feuchtigkeit an, da der Wert geringer ist als 60%.

Der nächste Schritt besteht darin, den Boden des Krugs unseres Kaktus zu bewässern und wir können den Anstieg des Feuchtigkeitswertes auf 69% überprüfen.

Nachdem wir die Funktionsweise des Projekts verstanden haben, werden wir die gesamte Konstruktionslogik präsentieren, um dieses Überwachungssystem zu erstellen. Lasst uns anfangen!

Schritt 4: Logische Programmierung

Im Folgenden wird die Programmierlogik durch den konstruierten Code präsentiert.

Ursprünglich wurde die Bibliothek von Display LCD, Variablen und ein Objekt-LCD mit seinen Pins der Verbindung mit Arduino UNO erstellt.

#enthalten

#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; Byte UmidityPercent = 0, Feuchtigkeit = 0, PreviousValue = 0; int ValUmidade = 0, AnalogValue = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; Flüssigkristallanzeige (rs, en, d4, d5, d6, d7);

Danach wurden die Setup-Funktion und das Display LCD 16x2 initialisiert und der Pin des Sensors als Eingang konfiguriert. Schließlich haben wir den ersten Messwert unseres Sensors durchgeführt und als Referenz für die Variable PreviousValue verwendet, wie unten gezeigt.

{Seriell.begin(9600); lcd.begin(16, 2); PinMode (Sensor, EINGANG); VorherigerWert = analogRead (Sensor); }

Mit den erstellten Variablen und den Befehlen in der Funktion void setup werden wir alle logischen Programmierungen in der Schleifenfunktion erklären.

// Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); // Mostra o valor da porta analogica kein serieller Monitor Serial.print ("Analog Port: "); Serial.println (AnalogValue); UmidityPercent = map(AnalogValue, 0, 1023, 0, 100); Feuchtigkeit = 100 - UmidityPercent;

In der Schleifenfunktion wurde der Analogwert gelesen und der Wert in einen Bereich von 0 und 100 abgebildet. Dieser Wert repräsentiert einen Prozentsatz der Bodenfeuchte. Wenn die Feuchtigkeit hoch ist, nähert sich der Wert 0 und wenn die Feuchtigkeit niedrig ist, nähert sich der Wert 100.

Um die Darstellung des Wertes zu erleichtern und das Ablesen des Benutzers nicht zu verwirren, kehren wir diese Logik um und stellen dar, dass 0 % niedrige Luftfeuchtigkeit und 100 % hohe Luftfeuchtigkeit bedeuten. Dies wurde mit Hilfe der nach der Kartierung durchgeführten Berechnung vorgenommen.

Feuchtigkeit = 100 - UmidityPercent;

Nach dem Ablesen muss der Feuchtigkeitswert auf dem Display-LCD angezeigt werden. Der nächste Schritt besteht darin, zu überprüfen, ob sich der Feuchtigkeitswert von seinem Wert plus 1 oder seinem Wert minus 1 gemäß der folgenden Bedingung unterscheidet.

if((Feuchtigkeit > (VorherigerWert)+1) || (Feuchtigkeit < (VorherigerWert)- 1))

Diese Bedingung wird verwendet, um zu verhindern, dass das System den gleichen Wert mehrmals auf der LCD-Anzeige anzeigt. Wenn die Bedingung jedoch wahr ist, zeigt das System den Wert auf dem LCD an und überprüft, ob der Wert größer oder gleich 60 % oder kleiner als 60 % ist. Wenn der Wert größer oder gleich 60 % war, ist das System vorhanden die Meldung Hohe Feuchtigkeit anzeigen, andernfalls die Meldung Niedrige Feuchtigkeit anzeigen, wie unten gezeigt.

If ((Feuchtigkeit > (Vorheriger Wert) + 1) || (Feuchtigkeit < (Vorheriger Wert) - 1)) { lcd.setCursor (1, 0); lcd.print("Feuchtigkeit:"); lcd.print(" "); lcd.setCursor(11, 0); lcd.print (Feuchtigkeit); lcd.print("%"); Wenn (Feuchtigkeit = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print(" "); lcd.setCursor(1, 1); lcd.print ("Hohe Feuchtigkeit"); HighUmid = 1; NiedrigUmid = 0; } VorherigerWert = Feuchtigkeit; }

Schließlich speichert das System den Wert der Feuchtigkeitsvariablen in der Variablen PreviousValue, um ihren Wert zu aktualisieren. Jedes Mal, wenn ein neuer Wert im Display angezeigt wird, wird die Variable PreviousValue aktualisiert, um in anderen Verarbeitungszyklen des Codes verwendet zu werden. Daher ist dies ein einfaches System, um die Feuchtigkeit von Pflanzen in unseren Wohnungen zu überwachen und die Benutzer darüber zu informieren die Bodenfeuchte.

Schritt 5: Danksagungen

Das Silícios Lab dankt PCBWay für seine Unterstützung und Zusammenarbeit. Und wir haben viele Vorteile für Sie. Verdienen Sie 10 kostenlose PCBs und viele Bohnenmünzen (mehr erfahren), um auf der PCBWay-Website gegen Produkte einzutauschen.

Darüber hinaus dankt das Silícios Lab UTSOURCE für seine Unterstützung, die uns kostengünstige elektronische Komponenten von hoher Qualität und gutem Service anbietet.

Empfohlen: