Egal, ob in der Winterzeit ein Weihnachtsstern oder im Frühling die frisch eingesetzten Pflanzen, das richtige Gießen ist immer wichtig. Jede Pflanze hat ihre eigenen Anforderungen und will entsprechend mit Wasser und Nährstoffen versorgt werden. Wir wollen rechtzeitig erkennen, wenn unsere Pflanze Flüssigkeit benötigt und verwenden dafür Bodenfeuchte Sensoren
Welchen Sensor verwenden wir?
Wir verwenden das Bodenfeuchtesensor Modul V1.2 kapazitiv aus unserem Onlineshop, siehe Abbildung 1.
Abbildung 1: Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv
Im direkten Vergleich zum Bodenfeuchtesensor Hygrometer Boden Feuchtigkeit Module, siehe Abbildung 2, ist die Größe und auch die Art vom Anschluss sichtbar unterschiedlich.
Abbildung 2: Vergleich der Bodenfeuchtesensoren
Aber nicht nur Größe und Anschluss unterscheiden sich, sondern auch wie die Sensoren mit Micro Controllern kommunizieren. Der Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv gibt nur noch ein analoges Signal zurück, hingegen der Bodenfeuchtesensor Hygrometer Boden Feuchtigkeit Module ein analoges und digitales Signal. In den meisten Fällen ist aber ausschließlich das analoge Signal interessant. Da die Kontakte beim Bodenfeuchtesensor Hygrometer Boden Feuchtigkeit Module frei zugänglich sind, kann es schnell passieren, dass die Kontakte korrodieren. Beim Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv wird, wie schon der Name sagt, die Bodenfeuchte kapazitiv gemessen.
Die Vorbereitung
Damit wir den Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv nutzen können, brauchen Sie noch einen entsprechenden Micro Controller. Für das hier gezeigte kleine Experiment reicht vollkommen der Nano V3.0 mit Atmega328 CH340 aus. Wichtig an dieser Stelle: der Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv braucht eine 5V-Spannungsversorgung und liefert auch ein analoges Signal zwischen 0-5V! Nutzen Sie z.B. einen ESP32, dann müssen Sie noch einen Spannungsteiler vor den analogen Eingang bauen, andernfalls können Sie ihren MicroController zerstören.
Für die Anzeige wird noch ein LCD-Display 16x2 mit I2C-Verbindung benötigt.
Bodenfeuchte überwachen
Als kleines und schnelles Beispiel soll der Sensor das analoge Signal auf einem LCD-Display 16x2 mit I2C-Adapter ausgeben. Der Aufbau und der Quellcode sind recht schnell erledigt.
Die Verdrahtung ist Tabelle 1 zu entnehmen.
Pin |
MicroController (Nano V3.0) |
Bodenfeuchtesensor |
Display |
GND |
GND |
GND |
GND |
5V |
5V |
VCC |
VCC |
Analoges Signal |
A0 |
AOUT |
|
SDA |
A4 |
|
SDA |
SCL |
A5 |
|
SCL |
Tabelle 1: Anschluss an MicroController
Der Quellcode ist ebenso simpel wie schnell erledigt, siehe Code 1.
//-----------------------------------------------------
// Soil moisture sensor sample
// Autor: Joern Weise
// License: GNU GPl 3.0
// Created: 10. Dec 2020
// Update: 10. Dec 2020
//-----------------------------------------------------
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define UPDATETIME 5000
#define NEEDTOWATERING 700
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
unsigned long iLastUpate = 0;
int iLastAnalogRead = 0;
// the setup routine runs once when you press reset:void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(115200);
Serial.println("Starting setup");
Serial.println("Init display");
lcd.init(); // initialize the lcd
Serial.println("Backlight on");
lcd.backlight(); // backlight on
Serial.println("Write text");
lcd.home(); // set cursor to 0,0
//Write some text
lcd.print("Soil moisture");
lcd.setCursor(0, 1);
lcd.print("sensor monitor");
Serial.println("Setup done");
delay(5000);
}
// the loop routine runs over and over again forever:
void loop() {
if(millis() - iLastUpate > UPDATETIME) {
int sensorValue = analogRead(A0);
if(iLastAnalogRead != sensorValue) {
lcd.clear();
lcd.home();
lcd.print("Value: " + String(sensorValue));
lcd.setCursor(0, 1);
if(sensorValue >= NEEDTOWATERING)
lcd.print("Need some water");
else
lcd.print("No water needed");
Serial.println("New value: " + String(sensorValue));
iLastAnalogRead = sensorValue;
}
iLastUpate = millis();
}
}
Code 1: Code Bodenfeuchte überwachen
So haben Sie stets im Auge, wann Sie wieder ihren Weihnachtsstern oder ihre andere Pflanze gießen müssen, siehe Abbildung 3. Vergessen Sie dabei aber nicht, das define NEEDTOWATERING so einzustellen, dass ihre Pflanzen nicht verdursten!
Abbildung 3: Fertige Schaltung
Weitere Projekte für AZ-Delivery von mir, finden Sie unter https://github.com/M3taKn1ght/Blog-Repo.
1 Kommentar
Horst Schwemmer
kann ich das Hygrometer Modul V1.2 auch über den bereits vorhandenen MCP3800 an einem Raspberry 3 betreiben?
Danke schon mal im Voraus
Horst Schwemmer