ESP32 – Bodenfeuchtesensor
Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 verwenden, um die Bodenfeuchtigkeit von einem Sensor auszulesen. Im Detail werden wir lernen:
- Kapazitiver Feuchtigkeitssensor vs Widerstandssensor
- Wie man mit dem ESP32 den Wert eines kapazitiven Feuchtigkeitssensors ausliest
- Wie man einen kapazitiven Feuchtigkeitssensor kalibriert
- Wie der ESP32 bestimmt, ob der Boden nass oder trocken ist
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
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.
Über den Bodenfeuchtigkeitssensor

Es gibt zwei Arten von Feuchtigkeitssensoren:
- Resistiver Feuchtigkeitssensor
- Kapazitiver Feuchtigkeitssensor
Beide Sensoren liefern den Bodenfeuchtigkeitswert. Ihre Funktionsprinzipien unterscheiden sich jedoch. Wir empfehlen nachdrücklich die Verwendung des kapazitiven Feuchtigkeitssensors aus folgenden Gründen:
- Der resistive Bodenfeuchtesensor korrodiert im Laufe der Zeit. Der elektrische Strom, der zwischen den Sonden des Sensors fließt, verursacht elektrochemische Korrosion.
- Der kapazitive Bodenfeuchtesensor korrodiert nicht im Laufe der Zeit. Die Elektroden des Sensors sind nicht exponiert, und es fließt kein elektrischer Strom zwischen ihnen.
Das untenstehende Bild zeigt die Korrosion an einem resistiven Bodenfeuchtigkeitssensor.

Der Rest dieses Tutorials verwendet den kapazitiven Bodenfeuchtesensor.
Pinbelegung des kapazitiven Bodenfeuchtigkeitssensors
Ein kapazitiver Bodenfeuchtigkeitssensor hat drei Anschlüsse:
- GND-Pin: Verbinde diesen Pin mit GND (0 V)
- VCC-Pin: Verbinde diesen Pin mit VCC (5 V oder 3,3 V)
- AOUT-Pin: Der analoge Signalausgangspin liefert die Spannung in umgekehrter Proportion zur Bodenfeuchtigkeit. Verbinde diesen Pin mit einem analogen Eingangspin des ESP32.

Wie es funktioniert
Je mehr Wasser im Boden vorhanden ist, desto niedriger ist die Spannung am AOUT-Pin.
Verdrahtungsdiagramm
- Wie man ESP32 und Bodenfeuchtesensor mit Steckbrett verbindet

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
- Wie man ESP32 und Bodenfeuchtigkeitssensor mit dem Schraubklemmen-Breakout-Board anschließt (über USB-Kabel betrieben)

ESP32-Code
Schnelle Schritte
- Kopiere den obigen Code und füge ihn in die Arduino IDE ein.
- Klicke auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf das ESP32-Board hochzuladen.
- Vergrabe den Sensor im Boden, gieße anschließend Wasser in den Boden. Oder tauche ihn langsam in ein Glas Salzwasser.
- Schau dir das Ergebnis im Serial Monitor an. Es sieht wie folgt aus:
※ Notiz:
- Vermeiden Sie es, reines Wasser für Tests zu verwenden, da es keinen Strom leitet und daher die Sensorwerte nicht beeinflusst.
- Die Messwerte des Sensors erreichen niemals Null. Es ist normal, dass die Werte zwischen 3100 und 2600 liegen, auch wenn dies je nach einigen Faktoren variieren kann: die Einbettungstiefe des Sensors, die Beschaffenheit des Bodens oder des Wassers, die Versorgungsspannung.
- Begraben Sie den oben am Sensor befindlichen Schaltungsbauteil nicht im Boden oder Wasser, da dies den Sensor möglicherweise beschädigen könnte.
Kalibrierung für kapazitiven Bodenfeuchtigkeitssensor
Der gemessene Wert des Feuchtigkeitssensors ist relativ. Er hängt von der Zusammensetzung des Bodens und dem Wassergehalt ab. In der Praxis müssen wir eine Kalibrierung durchführen, um einen Schwellenwert zu bestimmen, der die Grenze zwischen nass und trocken darstellt.
So kalibrieren Sie:
- Führen Sie den obigen Code auf dem ESP32 aus.
- Setzen Sie den Feuchtigkeitssensor in den Boden ein.
- Setzen Sie den Feuchtigkeitssensor in den Boden ein.
- Bewässern Sie den Boden langsam.
- Beobachten Sie den seriellen Monitor.
- Notieren Sie einen Wert zu dem Zeitpunkt, zu dem Sie feststellen, dass sich die Bodenfeuchtigkeit von trocken zu nass ändert. Dieser Wert wird als THRESHOLD bezeichnet.
Bestimmen Sie, ob der Boden nass oder trocken ist.
Nach der Kalibrierung aktualisieren Sie den von Ihnen aufgeschriebenen THRESHOLD-Wert im untenstehenden Code. Der untenstehende Code bestimmt, ob der Boden nass oder trocken ist.
Das Ergebnis im seriellen Monitor.
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-zu-Digital-Wandler) zu lesen, der an einen Bodenfeuchtesensor angeschlossen ist. Der ESP32-ADC ist gut geeignet für Projekte, die keine hohe Genauigkeit benötigen. Allerdings sollten Sie bei Projekten, die präzise Messungen erfordern, Folgendes beachten:
- Der ESP32-ADC ist nicht völlig genau und muss möglicherweise kalibriert werden, um korrekte Ergebnisse zu liefern.
- Jedes ESP32-Board kann etwas unterschiedlich sein, daher müssen Sie den ADC für jedes einzelne Board kalibrieren.
- Die Kalibrierung kann schwierig sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer die gewünschten Ergebnisse.
Für Projekte, die eine hohe Präzision benötigen, ziehen Sie in Erwägung, einen externen ADC (z. B. ADS1115) mit dem ESP32 zu verwenden oder einen Arduino zu nutzen, der einen zuverlässigeren ADC besitzt. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, siehe ESP32 ADC Calibration Driver
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.