Bauteile · 4 Min. Lesezeit

Bodenfeuchtesensor: Automatische Pflanzenbewässerung mit Arduino

Wie funktioniert ein Bodenfeuchtesensor? Resistiv oder kapazitiv, Anschluss am Arduino, Kalibrierung mit Trocken- und Nasswert, Korrosion vermeiden, automatische Bewässerung mit Relais und Pumpe, ESP32 und Pico.

Ein Bodenfeuchtesensor ist ein einfacher Sensor, der misst, wie feucht die Erde im Topf oder Garten ist. Er ist die Grundlage vieler Projekte – von einer Warnleuchte, die meldet, wenn eine Pflanze Durst hat, bis zu einem System, das deine Blumen im Urlaub selbst gießt. Er ist günstig, wird mit drei Kabeln an den Arduino angeschlossen, und mit einem Relais und einer kleinen Pumpe entsteht eine Automatisierung, die wirklich etwas bringt.

Bodenfeuchtesensor-Modul
Bodenfeuchtesensor: Die gabelförmige Sonde kommt in die Erde, die Komparatorplatine liefert einen analogen (AO) und einen digitalen (DO) Ausgang.

Wie funktioniert ein Bodenfeuchtesensor?

Wasser im Boden verändert, wie gut die Erde Strom leitet und Ladung speichert. Resistive Sensoren messen den Widerstand zwischen zwei Metallzinken in der Erde: Je feuchter die Erde, desto kleiner der Widerstand. Kapazitive Sensoren messen die Kapazität um eine beschichtete Elektrode; das Metall berührt die Erde gar nicht. Bei den meisten Modulen ist der Messwert bei trockener Erde hoch und bei nasser Erde niedrig.

MerkmalResistiv (YL-69, FC-28)Kapazitiv (v1.2)
Was gemessen wirdWiderstand zwischen zwei MetallzinkenKapazität um eine Elektrode
Offenes MetallJaNein (beschichtet)
KorrosionBei Dauerbetrieb in wenigen Wochen abgenutztSehr langlebig
AusgangAnalog (AO) und digital (DO)Analog
PreisSehr günstigEtwas teurer
Geeignet fürKurze VersucheDauerhafte Topf- und Gartenprojekte

Anschluss

Sensor-PinArduino UnoESP32Raspberry Pi Pico
VCCD7 (nur während der Messung versorgen) oder 5VGPIO 25 oder 3V3GP15 oder 3V3
GNDGNDGNDGND
AO (AOUT)A0GPIO 34GP26
DOD2 (optional)OptionalOptional
Wird ein resistiver Sensor dauerhaft versorgt, verursacht der Strom durch die Zinken Elektrolyse, und das Metall ist nach wenigen Wochen abgetragen. Am einfachsten verhinderst du das, indem du VCC des Sensors statt an 5V an einen Digitalpin anschließt und ihn nur während der Messung für ein paar Millisekunden einschaltest. Der Sensor zieht nur wenige mA, das schafft ein Pin problemlos.

Feuchtigkeit mit dem Arduino lesen und kalibrieren

Jeder Sensor und jeder Boden liefert andere Werte, daher kalibrierst du zuerst deinen Sensor: Notiere den Messwert an der Luft (völlig trocken) und in einem Glas Wasser (völlig nass). Mit map() rechnest du diesen Bereich dann in einen Prozentwert von 0 bis 100 um. Ersetze DRY und WET im Code durch deine eigenen Messwerte:

Arduino (C++)
1const int SENSOR_PIN = A0;
2const int POWER_PIN = 7;       // sensörü yalnızca ölçerken besle / power only while measuring
3const int DRY = 850;           // havadayken okunan / reading in air (kendin ölç / measure yours)
4const int WET = 380;           // sudayken okunan / reading in water (kendin ölç / measure yours)
5
6void setup() {
7  pinMode(POWER_PIN, OUTPUT);
8  Serial.begin(9600);
9}
10
11int readMoisture() {
12  digitalWrite(POWER_PIN, HIGH);
13  delay(10);                                              // değerin oturmasını bekle / let it settle
14  int raw = analogRead(SENSOR_PIN);
15  digitalWrite(POWER_PIN, LOW);
16  return constrain(map(raw, DRY, WET, 0, 100), 0, 100);   // % nem / % moisture
17}
18
19void loop() {
20  int moisture = readMoisture();
21  Serial.print("Toprak nemi / Soil moisture: %");
22  Serial.println(moisture);
23  delay(2000);
24}
Platziere den Sensor im Wurzelbereich, mit Abstand zum Topfrand und bei jeder Messung in gleicher Tiefe. Die Elektronik oben an kapazitiven Sensoren ist nicht wasserdicht; steck den Sensor nicht tiefer als bis zur aufgedruckten Linie und schütze die Oberseite der Platine mit Heißkleber oder einer Hülle.

Automatische Bewässerung: Relais und Pumpe

6-V-Mini-Tauchpumpe
Mini-Tauchpumpe: läuft mit 3–6 V, sitzt im Wasserbehälter und fördert das Wasser per Schlauch zum Topf.

Machen wir aus der Messung jetzt eine echte Aktion: Sinkt die Bodenfeuchte unter 30 %, läuft die Pumpe 4 Sekunden, dann wird 1 Minute gewartet, bis sich das Wasser in der Erde verteilt hat, und erst danach erneut gemessen. Diese Pause verhindert, dass die Pumpe ununterbrochen läuft und den Topf flutet, weil der Sensor noch nicht nass ist. Die Pumpe lässt sich nicht direkt aus einem Arduino-Pin versorgen; sie wird über ein Relais oder einen MOSFET geschaltet. Zum Relais siehe Was ist ein Relaismodul?

Arduino (C++)
1const int SENSOR_PIN = A0, POWER_PIN = 7, PUMP_PIN = 8;   // PUMP_PIN → röle IN / relay IN
2const int DRY = 850, WET = 380;
3const int START_BELOW = 30;          // %30'un altında sula / water below 30%
4const unsigned long PUMP_MS = 4000;  // her seferde 4 sn / 4 s per run
5const unsigned long SOAK_MS = 60000; // suyun yayılması için bekle / wait for the water to soak in
6
7int readMoisture() {
8  digitalWrite(POWER_PIN, HIGH);
9  delay(10);
10  int raw = analogRead(SENSOR_PIN);
11  digitalWrite(POWER_PIN, LOW);
12  return constrain(map(raw, DRY, WET, 0, 100), 0, 100);
13}
14
15void setup() {
16  pinMode(POWER_PIN, OUTPUT);
17  pinMode(PUMP_PIN, OUTPUT);
18  digitalWrite(PUMP_PIN, HIGH);      // aktif LOW röle: kapalı başla / active-LOW relay: start off
19}
20
21void loop() {
22  if (readMoisture() < START_BELOW) {
23    digitalWrite(PUMP_PIN, LOW);     // pompayı çalıştır / pump on
24    delay(PUMP_MS);
25    digitalWrite(PUMP_PIN, HIGH);    // pompayı durdur / pump off
26    delay(SOAK_MS);                  // tekrar ölçmeden önce bekle / wait before measuring again
27  }
28  delay(5000);
29}
Wasser und Elektronik arbeiten hier nebeneinander: Halte Arduino und Relais vom Wasserbehälter fern und oberhalb davon und isoliere alle Kabelverbindungen. Läuft die Pumpe trocken, ist sie nach wenigen Minuten defekt; ein Füllstandssensor im Behälter und eine Obergrenze für die tägliche Gießzeit schützen Pumpe und Wohnung.

Bodenfeuchte mit ESP32 und Raspberry Pi Pico

Am ESP32 schließt du den Sensor an einen der ADC1-Pins (GPIO 32–39) an, die auch bei aktivem WLAN funktionieren; die Werte reichen von 0 bis 4095, also kalibrierst du neu. Mit einem ESP32 kannst du die Bodenfeuchte als Benachrichtigung aufs Handy schicken oder einen Topfsensor bauen, der im Tiefschlaf einmal pro Stunde misst und monatelang mit Batterie läuft. Am Pico sieht das Auslesen mit MicroPython so aus:

MicroPython
1from machine import ADC, Pin
2import time
3
4sensor = ADC(26)               # GP26 → AOUT
5power = Pin(15, Pin.OUT)       # sensörü yalnızca ölçerken besle / power only while measuring
6DRY, WET = 52000, 24000        # kendi değerlerinle değiştir / replace with your readings
7
8def moisture():
9    power.value(1)
10    time.sleep_ms(10)
11    raw = sensor.read_u16()
12    power.value(0)
13    pct = (DRY - raw) * 100 // (DRY - WET)
14    return max(0, min(100, pct))
15
16while True:
17    print("Toprak nemi / Soil moisture: %", moisture())
18    time.sleep(2)

Wie feucht sollte die Erde sein?

PflanzenartUngefähre Zielfeuchte
Kakteen und Sukkulenten10–30 %
Die meisten Zimmerpflanzen40–60 %
Tomaten, Paprika und Gemüse60–80 %
Farne und feuchtigkeitsliebende Pflanzen70–90 %

Diese Prozentwerte beziehen sich auf den Trocken-nass-Bereich deines Sensors und sind nicht der wissenschaftliche Wassergehalt des Bodens. Die beste Schwelle findest du, indem du einige Tage beobachtest, was der Sensor anzeigt, wenn deine Pflanze wirklich Wasser braucht.

Projektideen mit dem Bodenfeuchtesensor

  • Automatische Topfbewässerung: ein System, das deine Blumen selbst gießt, auch wenn du im Urlaub bist.
  • "Ich habe Durst"-Warnung: eine LED, die leuchtet, oder ein Buzzer, der piept, wenn die Erde austrocknet.
  • Benachrichtigung aufs Handy: mit einem ESP32 eine Telegram-Nachricht senden, wenn die Feuchte sinkt.
  • Bewässerung mehrerer Töpfe: jedem Topf einen Sensor und ein kleines Ventil geben und die Pflanzen einzeln gießen.
  • Mini-Gewächshausstation: mit einem DHT11 auch die Luftfeuchte und mit einem LDR das Licht messen und alles auf einem Display zeigen.
  • Intelligenter Garten: das Gießen automatisch auslassen, wenn ein Regensensor Niederschlag erkennt.

Typische Fehler und ihre Lösungen

  • Der Wert ist immer 1023 oder immer 0: Statt AO wird der DO-Pin gelesen, die Versorgung fehlt oder das Kabel zur Sensorplatine ist gebrochen.
  • Die Zinken sind korrodiert und die Werte unsinnig: Der resistive Sensor wurde dauerhaft versorgt; versorge ihn über einen Pin oder steig auf ein kapazitives Modell um.
  • Die Werte driften mit der Zeit: Verdichtet sich die Erde oder wird gedüngt, ändert sich die Leitfähigkeit; kalibriere ab und zu neu.
  • Die Pumpe hört nicht auf: Das Relais ist Active LOW und HIGH/LOW sind im Code vertauscht, oder es wird gemessen, bevor das Wasser eingezogen ist; ergänze eine Pause zwischen den Messungen.
  • Der kapazitive Sensor liefert seltsame Werte: Die Elektronik oben ist nass geworden; mach die Platine wasserdicht.
  • Am ESP32 spinnen die Werte, sobald WLAN startet: Der Sensor hängt an einem ADC2-Pin; leg ihn auf einen Pin zwischen GPIO 32 und 39.

Ein Bodenfeuchtesensor kann dein erstes Projekt sein, das nicht nur misst, sondern in der echten Welt etwas verändert. In der BlueGrays-App findest du eine intelligente Bewässerungsstation und ein ESP32-System zur Pflanzenbewässerung Schritt für Schritt mit Schaltplänen und Code.

Häufige Fragen

Soll ich einen kapazitiven oder resistiven Bodenfeuchtesensor kaufen?

Für Versuche über ein paar Tage reicht ein resistiver Sensor. Für ein Projekt, das monatelang im Topf bleibt, nimm einen kapazitiven Sensor; ohne offenes Metall korrodiert er nicht und seine Werte driften weniger.

Wie lange hält ein Bodenfeuchtesensor?

Die Zinken eines dauerhaft versorgten resistiven Sensors sind nach wenigen Wochen deutlich abgetragen. Wird er nur während der Messung versorgt, hält er Monate. Kapazitive Sensoren funktionieren jahrelang, solange ihre Elektronik vor Wasser geschützt ist.

Warum ist der Wert bei trockener Erde hoch und bei nasser niedrig?

Die meisten Module schalten den Sensor als Teil eines Spannungsteilers; wird die Erde feuchter, ändert sich Widerstand oder Kapazität und die Spannung am Analogpin sinkt. Deshalb dreht der Code den Bereich mit map(raw, TROCKEN, NASS, 0, 100) um, um einen Prozentwert zu erhalten.

Wie tief sollte ein Bodenfeuchtesensor stecken?

Platziere den Sensor im Wurzelbereich der Pflanze, mit Abstand zum Topfrand. Bei kapazitiven Sensoren reicht es, sie bis zur aufgedruckten Linie einzustecken; die Elektronik darf weder Erde noch Wasser berühren.

Kann man eine Wasserpumpe direkt an den Arduino anschließen?

Nein. Schon kleine Pumpen ziehen 100–300 mA, das kann ein Arduino-Pin nicht liefern. Steuere die Pumpe über ein Relaismodul oder einen MOSFET mit Freilaufdiode, versorge sie aus einer separaten Quelle und verbinde die Massen.

Wie viele Töpfe kann ich mit einem Arduino überwachen?

Der Arduino Uno hat 6 Analogeingänge, also lassen sich 6 Sensoren direkt lesen. Für mehr nutzt du einen 16-Kanal-Analogmultiplexer wie den CD74HC4067 oder ein zusätzliches ADC-Modul wie den ADS1115.

Alle Projekte ansehen
Intelligente Bewässerungsstation
#83Fortgeschritten
Premium

Intelligente Bewässerungsstation

Autonomes Pflanzenbewässerungssystem, das 24/7 ohne Ermüdung arbeitet Arduino mit zwei 18650 Batterien und LM2596 Regler. Es steuert automatisch den Wassermotor durch kontinuierliche Messung der Boden

5.0(42)
57
ESP 32 Intelligentes Pflanzenbewässerungssystem
#139Fortgeschritten
Premium

ESP 32 Intelligentes Pflanzenbewässerungssystem

In diesem Projekt wurde mithilfe eines ESP32 und eines Bodenfeuchtesensors ein automatisches Pflanzenbewässerungssystem entwickelt. Der Sensor misst kontinuierlich den Feuchtigkeitsgehalt des Bodens. Wenn die Feuchtigkeit unter einen festgelegten Wert fällt, aktiviert der ESP32 das Relais, schaltet die Wasserpumpe ein und bewässert die Pflanze. Sobald der Boden ausreichend feucht ist, schaltet sich die Pumpe automatisch ab. Dank dieses Projekts können Pflanzen regelmäßig bewässert und Wasser ein

4.7(10)
14
Temperatur und Luftfeuchtigkeit mit DHT11
#55Mittel

Temperatur und Luftfeuchtigkeit mit DHT11

Projekt zur Messung der Umgebungstemperatur und der Luftfeuchtigkeit mit einem DHT11-Sensor und Anzeige auf einem I2C-LCD-Bildschirm. Lehrt die Verwendung eines digitalen Temperatur-/Luftfeuchtigkeits

4.7(47)
60
ESP32 DHT22 Temperatur und Luftfeuchtigkeit (mit LCD-Display)
#117Mittel
Premium

ESP32 DHT22 Temperatur und Luftfeuchtigkeit (mit LCD-Display)

Bei diesem Projekt werden die Umgebungstemperatur und die Luftfeuchtigkeit mit einem DHT22-Sensor gemessen und in Echtzeit auf einem 16x2 I2C-LCD angezeigt. Mithilfe der Adafruit-DHT-Bibliothek werden die Daten über das One-Wire-Protokoll vom Sensor ausgelesen. Dieses Projekt bildet die Grundlage für IoT-Wetterstationen, Smart-Home-Automatisierung oder Umgebungsüberwachungssysteme in Gewächshäusern. Die Kommunikation mit dem DHT22 erfolgt über den GPIO-4-Pin des ESP32.

4.8(37)
53
220V Glühbirne mit Druckknopf (Push)
#19Fortgeschritten
Premium

220V Glühbirne mit Druckknopf (Push)

Projekt zur Steuerung einer 220-V-Glühbirne mit einem Druckknopf unter Verwendung eines Relaismoduls. Lehrt die Grundlagen des Hochspannungsschaltens mit Relais.

4.4(30)
38
ESP32 Intelligente Beleuchtung (PIR + LDR + Relais + OLED)
#141Fortgeschritten
Premium

ESP32 Intelligente Beleuchtung (PIR + LDR + Relais + OLED)

Verwandle deinen Flur, dein Badezimmer oder deine Speisekammer mit dem ESP32 in intelligente Beleuchtung! Mit einem PIR-Bewegungssensor, einem LDR-Lichtsensor und einem Relaismodul realisieren wir das klassische Szenario "Licht geht an, wenn im Dunkeln Bewegung erkannt wird" — bei Tageslicht bleibt das Licht trotz Bewegung aus, was tagsüber Energie spart. Das Licht bleibt 30 Sekunden lang an; bei anhaltender Bewegung wird der Timer zurückgesetzt und das Licht bleibt länger an. Das SSD1306 OLED-D

4.3(6)
11
ESP32 Temperatur-Datenlogger (DHT22 + DS1307 RTC + microSD + OLED)
#144Fortgeschritten
Premium

ESP32 Temperatur-Datenlogger (DHT22 + DS1307 RTC + microSD + OLED)

Baue einen zeitgestempelten Temperaturlogger mit ESP32! Lese Temperatur/Feuchtigkeit vom DHT22 alle 10 Sekunden, hole die aktuelle Zeit vom DS1307 RTC und protokolliere auf microSD-Karte als CSV. Das OLED zeigt live Temperatur (große Schrift), Luftfeuchtigkeit, Zeitstempel und Logzähler. Die `/temp_log.csv`-Datei auf der SD-Karte öffnet sich in Excel, Google Sheets oder Python pandas zur Analyse — perfekt für Gewächshausüberwachung, Raumtemperaturverfolgung, Laboraufzeichnung, Lebensmittellageru

4.7(7)
12
ESP32 HTTPClient + Wetter-API (mit LCD-Display)
#133Fortgeschritten
Premium

ESP32 HTTPClient + Wetter-API (mit LCD-Display)

In diesem Projekt führen wir mit dem ESP32 über das Internet mithilfe von `HTTPClient.h` einen REST-API-Aufruf an die Wetter-API (wttr.in) durch. Mit ArduinoJson v7 analysieren wir die zurückgegebenen JSON-Daten und zeigen Informationen zu Stadt, Temperatur, Luftfeuchtigkeit, Wetter und Wind sowohl auf Türkisch als auch auf Englisch auf einem I2C-LCD-Display an. wttr.in ist kostenlos und erfordert keinen API-Schlüssel – Sie können den aktuellen Wetterbericht einer beliebigen Stadt abrufen, indem

4.7(13)
20

Lerne die Arten von Bodenfeuchtesensoren kennen, wie du sie an den Arduino anschließt, Messwerte in Prozent umrechnest, Korrosion vermeidest und ein System baust, das deine Pflanzen selbst gießt – Schritt für Schritt.

Bodenfeuchtesensor: Automatische Pflanzenbewässerung mit Arduino | BlueGrays