ESP32 - Bodenfeuchtesensor
Dieses Tutorial zeigt Ihnen, wie Sie einen Feuchtigkeitssensor mit dem ESP32 und MicroPython verwenden. Im Einzelnen lernen wir:
- Unterschiede zwischen resistiven und kapazitiven Feuchtigkeitssensoren
- Wie man den Bodenfeuchtesensor an den ESP32 anschließt
- Wie man MicroPython-Code für den ESP32 schreibt, um den Wert des Bodenfeuchtesensors auszulesen
- Wie man MicroPython-Code für den ESP32 schreibt, um zu prüfen, 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 (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.
Überblick über Soil Moisture Sensor Sensor

Es gibt zwei Arten von Feuchtigkeitssensoren:
- Resistiver Feuchtigkeitssensor
- Kapazitiver Feuchtigkeitssensor
Beide Sensoren messen die Bodenfeuchte, funktionieren aber unterschiedlich. Wir empfehlen dringend, aus folgenden Gründen den kapazitiven Feuchtigkeitssensor zu verwenden:
- Der resistive Feuchtigkeitssensor rostet mit der Zeit. Das passiert, weil zwischen seinen Sonden ein elektrischer Strom fließt, der Korrosion verursacht.
- Der kapazitive Feuchtigkeitssensor rostet mit der Zeit NICHT. Seine Teile sind geschützt, und zwischen ihnen fließt kein elektrischer Strom.
Das folgende Bild zeigt den Rost an einem resistiven Bodenfeuchtesensor.

Der Rest dieser Anleitung konzentriert sich auf die Verwendung des kapazitiven Bodenfeuchtesensors.
Pinbelegung des kapazitiven Bodenfeuchtesensors
Ein kapazitiver Bodenfeuchtesensor hat drei Pins:
- GND-Pin: mit GND (0V) verbinden
- VCC-Pin: mit VCC (5V oder 3,3V) verbinden
- AOUT-Pin: gibt ein Signal aus, das sich mit der Bodenfeuchte ändert. Mit dem analogen Eingang eines ESP32 verbinden.

Funktionsweise
Je mehr Wasser sich im Boden befindet, desto niedriger ist die Spannung am AOUT-Pin.
Verdrahtungsdiagramm
- So verbinden Sie ESP32 und Bodenfeuchtesensor mithilfe eines Steckbretts

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- So verbinden Sie ESP32 und Bodenfeuchtesensor mithilfe einer Schraubklemmen-Breakout-Platine (Stromversorgung über USB-Kabel)

ESP32 MicroPython Code
Schnelle Schritte
Hier finden Sie eine Anleitung, wie Sie Ihren MicroPython-Code auf dem ESP32 mit der Thonny IDE einrichten und ausführen:
- Stellen Sie sicher, dass Thonny IDE auf Ihrem Computer installiert ist.
- Vergewissern Sie sich, dass die MicroPython-Firmware auf Ihrem ESP32-Board geladen ist.
- Wenn Sie zum ersten Mal einen ESP32 mit MicroPython verwenden, lesen Sie die Anleitung ESP32 MicroPython Erste Schritte für eine Schritt-für-Schritt-Anleitung.
- Verbinden Sie das ESP32-Board gemäß dem bereitgestellten Schaltplan mit dem Bodenfeuchtesensor.
- Verbinden Sie das ESP32-Board mit einem USB-Kabel mit Ihrem Computer.
- Öffnen Sie Thonny IDE auf Ihrem Computer.
- Gehen Sie in Thonny IDE zu Tools Options.
- Wählen Sie im Tab Interpreter aus dem Dropdown-Menü MicroPython (ESP32).
- Stellen Sie sicher, dass der richtige Port ausgewählt ist. Thonny IDE erkennt ihn normalerweise automatisch, aber möglicherweise müssen Sie ihn manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
- Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
- Speichern Sie den Code auf Ihrem ESP32:
- Klicken Sie auf den Save-Button oder drücken Sie Ctrl+S.
- Wählen Sie im Speicherdialog MicroPython device.
- Nennen Sie die Datei main.py.
- Klicken Sie auf den grünen Run-Button (oder drücken Sie F5), um das Skript auszuführen.
- Stecken Sie den Sensor in die Erde und gießen Sie sie, oder tauchen Sie ihn langsam in eine Tasse Salzwasser.
- Sehen Sie sich die Meldung in der Shell unten in Thonny an.
※ Notiz:
- Verwenden Sie zum Testen kein reines Wasser, da es keinen Strom leitet und die Sensorwerte nicht beeinflusst.
- Die Sensorwerte werden nie null sein. Es ist normal, dass die Werte zwischen 1200 und 2300 liegen, dies kann sich aber je nach Faktoren wie der Einstecktiefe des Sensors, der Art des Bodens oder Wassers und der Versorgungsspannung ändern.
- Halten Sie den Schaltungsteil (oben am Sensor) aus der Erde oder dem Wasser heraus, um eine Beschädigung des Sensors zu vermeiden.
Kalibrierung des kapazitiven Bodenfeuchtesensors
Die Messwerte des Sensors ändern sich je nach Bodenart und Wassergehalt. Um ihn korrekt zu verwenden, müssen wir einen Schwellenwert festlegen, der anzeigt, ob der Boden nass oder trocken ist.
Schritte zur Kalibrierung:
- Führen Sie den bereitgestellten Code auf dem ESP32 aus.
- Stecken Sie den Feuchtigkeitssensor in die Erde.
- Geben Sie nach und nach Wasser in die Erde.
- Beobachten Sie die Meldung in der Shell unten in Thonny.
- Notieren Sie den Wert, wenn der Boden von trocken zu nass wechselt. Dieser Wert wird als THRESHOLD bezeichnet.
Feststellen, ob der Boden nass oder trocken ist
Aktualisieren Sie nach der Kalibrierung den notierten THRESHOLD-Wert in diesem neuen Code. Dieser Code stellt fest, ob der Boden nass oder trocken ist.
Sehen Sie sich die Meldung in der Shell unten in Thonny an.
※ Notiz:
Dieses Tutorial zeigt, wie Sie mit der Funktion adc.read() Werte von einem ADC (Analog-Digital-Wandler) auslesen, der mit einem Bodenfeuchtesensor verbunden ist. Der ADC des ESP32 eignet sich für Projekte, die keine hohe Präzision erfordern. Wenn Ihr Projekt jedoch genaue Messungen benötigt, beachten Sie Folgendes:
- Der ESP32-ADC ist nicht perfekt genau und muss für präzise Ergebnisse möglicherweise kalibriert werden. Jedes ESP32-Board kann leicht abweichen, daher ist eine Kalibrierung für jedes einzelne Board erforderlich.
- Die Kalibrierung kann schwierig sein, besonders für Anfänger, und liefert möglicherweise 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 verwenden oder einen Arduino wählen, der einen zuverlässigeren ADC hat. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, lesen Sie den 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.