ESP8266 - Bodenfeuchtesensor
Dieses Tutorial erklärt dir, wie man einen Feuchtigkeitssensor mit dem ESP8266 verwendet. Genauer gesagt, schauen wir uns Folgendes an:
- Die Unterschiede zwischen einem resistiven und einem kapazitiven Feuchtigkeitssensor
- Wie man den ESP8266 programmiert, um den Wert des Feuchtigkeitssensors mit dem ESP8266 auszulesen
- Wie man den ESP8266 verwendet, um den Feuchtigkeitssensor zu kalibrieren
- Wie der ESP8266 bestimmt, ob der Boden nass oder trocken ist
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
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 Bodenfeuchtigkeitssensor Sensor

Es gibt zwei Arten von Feuchtigkeitssensoren: ein resistiver Feuchtigkeitssensor und ein kapazitiver Feuchtigkeitssensor.
Beide Sensoren liefern Informationen zur Bodenfeuchtigkeit. Ihre Funktionsweisen unterscheiden sich jedoch. Wir empfehlen den kapazitiven Feuchtigkeitssensor aus den folgenden Gründen:
- Der resistive Bodenfeuchtesensor ist im Laufe der Zeit anfällig für Korrosion, da ein elektrischer Strom zwischen seinen Elektroden fließt und so elektrochemische Korrosion verursacht.
- Der kapazitive Bodenfeuchtesensor korrodiert hingegen deutlich langsamer als der resistive Bodenfeuchtesensor. Das liegt daran, dass seine Elektroden nicht exponiert sind und er dadurch vergleichsweise korrosionsbeständig ist.
Dies ist eine Abbildung eines resistiven Bodensensors zur Messung der Bodenfeuchtigkeit, der durch Korrosion beschädigt wurde.

Der verbleibende Teil dieses Tutorials wird den kapazitiven Bodenfeuchtesensor verwenden.
Pinbelegung des kapazitiven Bodenfeuchtesensors
Der kapazitive Bodenfeuchtigkeitssensor hat drei Anschlüsse:
- GND-Pin: Dieser muss an GND (0 V) angeschlossen werden.
- VCC-Pin: Dieser muss an VCC (5 V oder 3,3 V) angeschlossen werden.
- AOUT-Pin: Dies ist der analoge Ausgangspin, der eine Spannung erzeugt, die proportional zur Bodenfeuchtigkeit ist. Dieser sollte an einen analogen Eingangspin eines ESP8266 angeschlossen werden.

Wie es funktioniert
Die im Boden vorhandene Wassermenge steht in einem inversen Verhältnis zum Spannungspegel des AOUT-Pins.
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.
ESP8266-Code zum Auslesen des Wertes eines Bodenfeuchtesensors
Schnelle Schritte
Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:
- Schauen Sie sich das Tutorial zur Einrichtung der ESP8266-Umgebung in der Arduino-IDE an, falls dies Ihr erster Einsatz von ESP8266 ist.
- Verdrahten Sie die Bauteile wie im Diagramm gezeigt.
- Verbinden Sie das ESP8266-Board mit Ihrem Computer über ein USB-Kabel.
- Öffnen Sie die Arduino-IDE auf Ihrem Computer.
- Wählen Sie das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E-Modul), und den entsprechenden COM-Port.
- Kopieren Sie den Code und öffnen Sie ihn in der Arduino-IDE.
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino-IDE, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
- Vergraben Sie den Sensor im Boden, und gießen Sie anschließend Wasser in den Boden. Oder tauchen Sie ihn langsam in ein Glas Salzwasser.
- Schauen Sie sich das Ergebnis im Serial Monitor an. Es sieht wie folgt aus:
※ Notiz:
- Verwenden Sie kein reines Wasser zum Testen, da es keinen Strom leitet und daher die Sensorwerte nicht beeinflusst.
- Die Sensorwerte werden nie Null sein. Üblicherweise liegen die Werte zwischen 500 und 600, wobei sich dies je nach Faktoren wie der Tiefe, in der der Sensor platziert ist, der Art des Bodens oder des Wassers und der Spannung der Stromversorgung ändern kann.
- Vergraben Sie das Schaltungsbauteil (das sich oben am Sensor befindet) nicht im Boden oder Wasser, da es den Sensor beschädigen könnte.
Kalibrierung für kapazitiven Bodenfeuchtigkeitssensor
Der vom Feuchtigkeitssensor gemessene Wert ist nicht absolut. Er hängt von der Bodenbeschaffenheit und dem Wassergehalt ab. Um eine genaue Grenze zwischen nass und trocken zu bestimmen, müssen wir eine Kalibrierung durchführen.
Anweisungen zur Kalibrierung:
- Führe den Code auf dem ESP8266 aus
- Platziere den Feuchtigkeitssensor im Boden
- Füge dem Boden nach und nach Wasser hinzu
- Überwache den Serial Monitor
- Notiere den Wert, wenn der Boden von trocken zu nass wechselt. Dies wird als Schwellenwert bezeichnet.
ESP8266-Code bestimmt, ob der Boden nass oder trocken ist
Sobald die Kalibrierung abgeschlossen ist, aktualisieren Sie den THRESHOLD-Wert, den Sie im untenstehenden Code notiert haben. Dieser Code wird verwendet, um festzustellen, ob der Boden nass oder trocken ist.
Die Ausgabe, die im seriellen Monitor angezeigt wird.
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Daten von einem ADC (Analog-Digital-Wandler) zu erhalten, der an einen Sensor oder einen anderen Teil angeschlossen ist. Der ADC des ESP8266 funktioniert gut für Projekte, bei denen man keine sehr genauen Messwerte benötigt. Aber beachten Sie, dass der ADC des ESP8266 bei detaillierten Messungen nicht besonders genau ist. Wenn Ihr Projekt sehr präzise sein muss, sollten Sie möglicherweise einen separaten ADC wie den ADS1115 mit dem ESP8266 verwenden oder einen Arduino wie den Arduino Uno R4 WiFi einsetzen, der über einen zuverlässigeren ADC verfügt.
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.