Raspberry Pi - Bodenfeuchtesensor
Diese Anleitung zeigt Ihnen, wie Sie einen Feuchtigkeitssensor mit Raspberry Pi verwenden. Konkret werden wir uns ansehen:
- Die Unterschiede zwischen einem resistiven und kapazitiven Feuchtigkeitssensor
- Wie Sie Raspberry Pi programmieren, um den Wert des Feuchtigkeitssensors zu lesen
- Wie Sie Raspberry Pi zur Kalibrierung des Feuchtigkeitssensors verwenden
- Wie Raspberry Pi bestimmt, ob der Boden nass oder trocken ist
Hardware benötigt
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 den Bodenfeuchtesensor

Es gibt zwei Arten von Feuchtigkeitssensoren: den resistiven Feuchtigkeitssensor und den kapazitiven Feuchtigkeitssensor.
Beide Sensoren liefern Informationen über die Bodenfeuchtigkeit. Ihre Funktionsweise ist jedoch unterschiedlich. Wir empfehlen dringend die Verwendung des kapazitiven Feuchtigkeitssensors aus folgenden Gründen:
- Der resistive Bodenfeuchtesensor ist anfällig für Korrosion über die Zeit. Dies liegt daran, dass elektrischer Strom zwischen seinen Sonden fließt, was zu elektrochemischer Korrosion führt.
- Der kapazitive Bodenfeuchtesensor korrodiert mit der Zeit viel langsamer als der resistive Bodenfeuchtesensor. Dies liegt daran, dass seine Elektroden nicht exponiert sind und vergleichsweise widerstandsfähig gegen Korrosion sind.
Dies ist ein Bild eines resistiven Bodenfeuchtesensors, der durch Korrosion beschädigt wurde.

Der Rest dieses Tutorials verwendet den kapazitiven Bodenfeuchtesensor.
Pinout des kapazitiven Bodenfeuchtesensors
Der kapazitive Bodenfeuchtesensor hat drei Pins:
- GND-Pin: Dieser sollte mit GND (0V) verbunden werden
- VCC-Pin: Dieser sollte mit VCC (5V oder 3,3V) verbunden werden
- AOUT-Pin: Dies ist der analoge Signalausgangs-Pin, der eine Spannung erzeugt, die proportional zur Bodenfeuchtigkeitsstufe ist. Dieser sollte mit einem analogen Eingangs-Pin des Raspberry Pi verbunden werden.

Funktionsweise
Die Wassermenge im Boden beeinflusst die Spannung am AOUT-Pin; je höher der Wassergehalt, desto niedriger wird die Spannung sein.
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Code liest Wert vom Bodenfeuchtesensor
Schnelle Schritte
- Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
- Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
- Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, wenn Sie Bibliotheken installieren müssen.
- Wenn Sie Raspberry Pi zum ersten Mal verwenden, lesen Sie wie Sie Raspberry Pi einrichten
- Verbinden Sie Ihren PC mit dem Raspberry Pi über SSH mit dem integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows. Siehe wie Sie Ihren PC mit Raspberry Pi über SSH verbinden.
- Stellen Sie sicher, dass die RPi.GPIO Bibliothek installiert ist. Falls nicht, installieren Sie sie mit folgendem Befehl:
- Installieren Sie die Adafruit_ADS1x15 Bibliothek, indem Sie folgende Befehle im Raspberry Pi Terminal ausführen:
- Erstellen Sie eine Python-Skriptdatei soil_moisture.py und fügen Sie folgenden Code hinzu:
- Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
- Vergraben Sie den Sensor in Erde, dann gießen Sie Wasser in die Erde. Oder tauchen Sie ihn langsam in eine Tasse Salzwasser.
- Überprüfen Sie das Ergebnis im Terminal.
※ Notiz:
- Verwenden Sie NICHT reines Wasser zum Testen, da es keinen Strom leitet, was bedeutet, dass es die Sensorwerte nicht beeinflusst.
- Die Sensorwerte fallen normalerweise nicht auf null. Es ist normal, dass sie im Bereich von 40000 bis 50000 bleiben, aber dies kann sich je nach Faktoren wie der Tiefe der Sensorplatzierung, der Art des Bodens oder Wassers und der Spannung der Stromversorgung ändern.
- Vergraben Sie niemals den Schaltungsteil (oben am Sensor) in Erde oder Wasser, da dies den Sensor beschädigen könnte.
Das Skript läuft in einer Endlosschleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.
Kalibrierung für kapazitiven Bodenfeuchtesensor
Der vom Feuchtigkeitssensor erhaltene Wert ist nicht absolut. Er variiert je nach Bodenzusammensetzung und Wassergehalt. Daher ist es notwendig, eine Kalibrierung durchzuführen, um eine Grenze zwischen nassen und trockenen Bedingungen zu bestimmen.
Anleitung für die Kalibrierung des kapazitiven Bodenfeuchtesensors:
- Führen Sie den Code auf Raspberry Pi aus
- Platzieren Sie den Feuchtigkeitssensor in die Erde
- Fügen Sie schrittweise Wasser zur Erde hinzu
- Überwachen Sie die Werte im Terminal
- Notieren Sie sich den Wert, wenn Sie spüren, dass sich die Erde von trocken zu nass ändert, zum Beispiel: 45000. Dies wird als THRESHOLD (Schwellwert) bezeichnet.
Bestimmen, ob die Erde nass oder trocken ist
- Erstellen Sie eine Python-Skriptdatei soil_moisture_dry_wet.py und fügen Sie folgenden Code hinzu:
- Aktualisieren Sie den THRESHOLD-Wert, der bei der Kalibrierung notiert wurde, im Code.
- Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
Die im Terminal angezeigte Ausgabe.
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.