ESP8266 - Bodenfeuchtesensor

Dieses Tutorial erklärt dir, wie man einen Feuchtigkeitssensor mit dem ESP8266 verwendet. Genauer gesagt, schauen wir uns Folgendes an:

Erforderliche Hardware

1×ESP8266 NodeMCU
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×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
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.

Über Bodenfeuchtigkeitssensor Sensor

kapazitiver Feuchtigkeitssensor vs resistiver Feuchtigkeitssensor

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.

Resistiver Bodenfeuchtesensor korrodiert.

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.
kapazitiver Bodenfeuchtesensor Pinbelegung

Wie es funktioniert

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

Verdrahtungsdiagramm

ESP8266 NodeMCU-Bodenfeuchtesensor-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

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-soil-moisture-sensor */ #define AOUT_PIN A0 // The ESP8266 pin ADC0 that connects to AOUT pin of moisture sensor void setup() { Serial.begin(9600); } void loop() { int value = analogRead(AOUT_PIN); // read the analog value from sensor Serial.print("Moisture: "); Serial.println(value); delay(500); }

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:
COM6
Send
Moisture: 581 Moisture: 581 Moisture: 575 Moisture: 566 Moisture: 556 Moisture: 547 Moisture: 539 Moisture: 530 Moisture: 521 Moisture: 513 Moisture: 506 Moisture: 500 Moisture: 495 Moisture: 492 Moisture: 490 Moisture: 489 Moisture: 488
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ 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.

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-soil-moisture-sensor */ #define AOUT_PIN A0 // The ESP8266 pin ADC0 that connects to AOUT pin of moisture sensor #define THRESHOLD 530 // CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); } void loop() { int value = analogRead(AOUT_PIN); // read the analog value from sensor if (value > THRESHOLD) Serial.print("The soil is DRY ("); else Serial.print("The soil is WET ("); Serial.print(value); Serial.println(")"); delay(500); }

Die Ausgabe, die im seriellen Monitor angezeigt wird.

COM6
Send
The soil is DRY (581) The soil is DRY (575) The soil is DRY (566) The soil is DRY (547) The soil is DRY (539) The soil is WET (521) The soil is WET (513) The soil is WET (492) The soil is WET (488)
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ 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.

Funktionsreferenzen

Verwandte Tutorials

※ 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!