ESP32 S3 - Bodenfeuchtesensor mit Pumpe

In diesem Tutorial lernen Sie, wie Sie mit dem ESP32 S3 eine Wasserpumpe anhand der Messwerte eines kapazitiven Bodenfeuchtesensors automatisch steuern. Dies ist eine praktische Fähigkeit für den Bau intelligenter Bewässerungssysteme, die Pflanzen ohne manuelles Gießen gesund halten.

Was Sie bauen werden:

  1. Ein System, das mit einem am ESP32 S3 angeschlossenen kapazitiven Sensor regelmäßig die Bodenfeuchte misst
  2. Eine automatische Schaltung zum Einschalten der Pumpe, wenn der Boden zu trocken ist
  3. Eine automatische Schaltung zum Ausschalten der Pumpe, wenn der Boden ausreichend feucht ist
  4. Eine wiederverwendbare ESP32 S3 Grundlage zur Bodenüberwachung, die Sie zu einem vollständigen automatischen Bewässerungssystem erweitern können

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Kapazitiver Bodenfeuchtigkeitssensor
1×Relais
1×12V Pumpe
1×Vinyl Tube
1×12V Netzteil
1×(Optional) DC-Stromanschluss
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Kaufhinweis: Viele kapazitive Bodenfeuchtigkeitssensoren auf dem Markt sind von geringer Qualität, unabhängig von der Version. Wir empfehlen dringend den Kauf des Sensors mit TLC555I-Chip von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.

Überblick über Soil Moisture Sensor and Pump

Ein kapazitiver Bodenfeuchtesensor misst den volumetrischen Wassergehalt des Bodens, indem er Kapazitätsänderungen statt der Leitfähigkeit erfasst, was ihn langlebiger und korrosionsbeständiger macht als resistive Alternativen. Die analoge Ausgangsspannung des Sensors sinkt mit zunehmender Feuchtigkeit, sodass niedrigere ADC-Werte feuchterem Boden entsprechen. Ein Relaismodul dient als Schalter zwischen dem ESP32 S3 und dem 12-V-Pumpenkreis, sodass der stromsparende Mikrocontroller eine Last mit hohem Strom sicher und ohne Beschädigungsrisiko steuern kann.

Wichtige Spezifikationen

Wenn Sie mit dem Bodenfeuchtesensor oder der Pumpe noch nicht vertraut sind — einschließlich ihrer Pinbelegung, Funktionsweise und Programmierung —, sehen Sie sich die folgenden Tutorials an, bevor Sie fortfahren:

Funktionsweise

Der ESP32 S3 liest regelmäßig die analoge Spannung des kapazitiven Bodenfeuchtesensors aus und vergleicht sie mit einem kalibrierten Schwellenwert. Je nach Ergebnis führt der ESP32 S3 eine von zwei Aktionen aus:

  • Liegt der Bodenfeuchtewert unter dem Schwellenwert (Boden ist trocken), aktiviert der ESP32 S3 das Relais, um die Pumpe einzuschalten.
  • Andernfalls deaktiviert der ESP32 S3 das Relais, um die Pumpe auszuschalten.

Verdrahtungsdiagramm

Verbinden Sie den Analogausgang des Bodenfeuchtesensors mit einem ADC-fähigen GPIO-Pin des ESP32 S3 und den Steuerpin des Relais mit einem digitalen Ausgangs-GPIO. Versorgen Sie das Relaismodul je nach Anforderung Ihres Relaismoduls über die 3,3-V- oder 5-V-Leitung des ESP32 S3 und führen Sie die 12-V-Versorgung der Pumpe über den Schließerkontakt (NO) und die gemeinsame Klemme (COM) des Relais.

Sicherheitshinweise

Versorgen Sie die Pumpe immer über ein separates externes 12-V-Netzteil und nicht über das ESP32 S3 Board, da die Stromaufnahme der Pumpe weit über dem liegt, was der USB-Anschluss sicher liefern kann. Stellen Sie sicher, dass die Relaisklemmen COM und NO korrekt mit der 12-V-Versorgung und den Pumpenleitungen verbunden sind — eine vertauschte Polarität kann den Pumpenmotor beschädigen.

ESP32 S3 Bodenfeuchtesensor mit Pumpe Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Eine Schraubklemme hält jedes Kabel fest, auch wenn die Platine wackelt. Sie können den ESP32 S3 auf ein Schraubklemmen-Board für ESP32 S3 stecken und die Kabel an seine Schraubklemmen anschließen. Unten sehen Sie das Verdrahtungsdiagramm mit dem Schraubklemmen-Board.

ESP32 S3 Bodenfeuchtesensor mit Pumpe Schaltplan (Screw Terminal)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Hier ist dieselbe Schaltung mit einem GPIO-Breakout-Board für ESP32 S3, das jeden GPIO auf Stiftleisten herausführt:

ESP32 S3 Bodenfeuchtesensor mit Pumpe Schaltplan (GPIO Breakout Board)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

ESP32 S3 Code

Der folgende Code konfiguriert den ESP32 S3 so, dass er die Bodenfeuchte fortlaufend überwacht und das Relais — und damit die Pumpe — anhand eines benutzerdefinierten Schwellenwerts automatisch ein- oder ausschaltet. Kalibrieren Sie vor dem Hochladen die Konstante THRESHOLD im Sketch passend zu den trockenen und nassen ADC-Werten Ihres Sensors und Ihrer Bodenart.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-soil-moisture-sensor-pump */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-soil-moisture-sensor-pump */ #define RELAY_PIN 7 // ESP32-S3 pin GPIO7 that connects to relay #define MOISTURE_PIN 6 // ESP32-S3 pin GPIO6 (ADC1) that connects to AOUT pin of moisture sensor #define THRESHOLD 1500 // => CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); pinMode(RELAY_PIN, OUTPUT); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int value = analogRead(MOISTURE_PIN); // read the analog value from soild moisture sensor if (value > THRESHOLD) { Serial.print("The soil moisture is DRY => activate pump"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil moisture is WET => deactivate the pump"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(1000); }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Kalibrieren Sie Ihren Sensor, um den Schwellenwert THRESHOLD für nass/trocken zu bestimmen, indem Sie dem Tutorial ESP32 S3 - Bodenfeuchtesensor folgen.
  3. Tragen Sie den kalibrierten Wert im Code bei THRESHOLD ein.
  4. Verdrahten Sie die Hardware wie im obigen Schaltplan gezeigt.
  5. Verbinden Sie das ESP32 S3 Board über ein USB-Typ-C-Kabel mit Ihrem PC.
  6. Öffnen Sie die Arduino IDE auf Ihrem PC.
  7. Wählen Sie in der Symbolleiste der Arduino IDE das richtige ESP32 S3 Board und den COM-Port aus.
  8. Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  9. Klicken Sie auf Upload, um den Code auf den ESP32 S3 hochzuladen.
  10. Öffnen Sie den seriellen Monitor mit 9600 Baud.
  11. Stecken Sie die Sonde des Bodenfeuchtesensors in trockene Erde und beobachten Sie, wie die Pumpe eingeschaltet wird.
  12. Gießen Sie die Erde, bis der Sensor einen Wert über dem Schwellenwert misst, und beobachten Sie, wie die Pumpe ausgeschaltet wird.
  13. Profi-Tipp: Wenn die Pumpe in der Nähe des Schwellenwerts schnell ein- und ausschaltet (Flattern), fügen Sie im Code eine kleine Hysterese hinzu — zum Beispiel Einschalten bei Werten unter 30 % und Ausschalten erst, wenn die Werte über 35 % steigen —, um unnötigen Verschleiß des Relais zu vermeiden.

Ausgabe im seriellen Monitor

Öffnen Sie den seriellen Monitor mit 9600 Baud. Die folgenden Messwerte sind typisch für den Betrieb im Jahr 2026:

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-03-10 08:14:22] The soil moisture is DRY => activate the pump [2026-03-10 08:14:24] The soil moisture is DRY => activate the pump [2026-03-10 08:14:26] The soil moisture is DRY => activate the pump [2026-03-10 08:14:28] The soil moisture is WET => deactivate the pump [2026-03-10 08:14:30] The soil moisture is WET => deactivate the pump [2026-03-10 08:14:32] The soil moisture is WET => deactivate the pump
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Code-Erklärung

Lesen Sie die zeilenweise Erklärung in den Kommentarzeilen des obigen Codes.

※ Notiz:

Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der mit einem Bodenfeuchtesensor verbunden ist. Der ADC des ESP32 S3 eignet sich gut für Projekte, die KEINE hohe Genauigkeit erfordern. Für Projekte, die präzise Messungen benötigen, beachten Sie jedoch:

  • Der ADC des ESP32 S3 ist nicht perfekt genau und muss für korrekte Ergebnisse möglicherweise kalibriert werden. Jedes ESP32 S3 Board kann etwas anders sein, daher müssen Sie den ADC für jedes einzelne Board kalibrieren.
  • Die Kalibrierung kann schwierig sein, besonders für Einsteiger, und liefert nicht immer genau die gewünschten Ergebnisse.

Für Projekte, die hohe Präzision erfordern, sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 S3 verwenden oder einen Arduino einsetzen, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des ESP32 S3 dennoch kalibrieren möchten, lesen Sie ESP32 ADC Calibration Driver

Anwendungen

Die Kombination aus kapazitivem Bodenfeuchtesensor und Pumpe am ESP32 S3 ermöglicht eine Vielzahl intelligenter Bewässerungs- und Umweltüberwachungsanwendungen in Haus, Garten und Landwirtschaft.

  1. Automatische Pflanzenbewässerung: Der ESP32 S3 überwacht die Erde von Topfpflanzen und schaltet eine kleine Pumpe ein, sobald die Feuchtigkeit unter den eingestellten Schwellenwert fällt, sodass Pflanzen weder zu wenig noch zu viel Wasser bekommen.
  2. Gewächshaus-Bewässerungssteuerung: Mehrere über die Beete verteilte Sensoren liefern Daten an einen ESP32 S3, der einzelne Zonenpumpen steuert, um in jedem Bereich eine optimale Feuchtigkeit zu halten.
  3. Intelligentes Tropfbewässerungssystem für den Garten: Planen Sie Bewässerungszeiten mit dem ESP32 S3 und übersteuern Sie sie mit Live-Feuchtigkeitswerten, sodass nur dann Wasser abgegeben wird, wenn der Boden es wirklich braucht.
  4. Überwachung landwirtschaftlicher Felder: Verteilen Sie ESP32 S3 Knoten über ein Feld; jeder Knoten misst die Bodenfeuchte unabhängig und löst eine lokale Pumpe oder ein Ventil zur Bewässerung seiner Zone aus.
  5. Nährstoffzufuhr für Hydroponik: Verwenden Sie den Feuchtigkeitssensor in kleinen Hydroponiksystemen als Ersatz für die Füllstandsmessung des Vorratsbehälters und lösen Sie eine Pumpe aus, um Nährlösung nachzufüllen, wenn der Füllstand sinkt.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.

Herausforderungen

Nachdem Sie nun ein funktionierendes System aus Bodenfeuchtesensor und Pumpe am ESP32 S3 haben, probieren Sie diese Herausforderungen aus, um Ihr Verständnis zu vertiefen und das Projekt weiter auszubauen.

  1. Einsteiger: Fügen Sie eine LED-Anzeige hinzu, die leuchtet, solange die Pumpe aktiv ist — verbinden Sie die LED mit einem freien GPIO-Pin und schalten Sie sie im selben Codeblock um, der das Relais steuert.
  2. Fortgeschritten: Schließen Sie ein OLED-Display an, das den aktuellen Bodenfeuchte-Prozentwert und den Pumpenzustand anzeigt und jede Sekunde aktualisiert wird, damit Sie die Bodenbedingungen auf einen Blick überwachen können.
  3. Experte: Fügen Sie eine WLAN-Anbindung hinzu, damit der ESP32 S3 Feuchtigkeitswerte und Pumpenereignisse an einen Webserver oder ein Cloud-Dashboard protokolliert, was eine Fernüberwachung und Anpassung des Schwellenwerts ohne erneutes Flashen der Firmware ermöglicht.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!