5.7 KiB
Bodenfeuchtigkeit messen - Raspberry Pi
In diesem Teil der Lektion fügen Sie Ihrem Raspberry Pi einen kapazitiven Bodenfeuchtigkeitssensor hinzu und lesen Werte von diesem aus.
Hardware
Der Raspberry Pi benötigt einen kapazitiven Bodenfeuchtigkeitssensor.
Der Sensor, den Sie verwenden, ist ein Kapazitiver Bodenfeuchtigkeitssensor, der die Bodenfeuchtigkeit misst, indem er die Kapazität des Bodens erkennt – eine Eigenschaft, die sich mit der Bodenfeuchtigkeit ändert. Mit zunehmender Bodenfeuchtigkeit sinkt die Spannung.
Dies ist ein analoger Sensor, der einen analogen Pin verwendet und den 10-Bit-ADC im Grove Base Hat auf dem Raspberry Pi nutzt, um die Spannung in ein digitales Signal von 1 bis 1.023 umzuwandeln. Dieses Signal wird dann über die GPIO-Pins des Raspberry Pi per I²C übertragen.
Den Bodenfeuchtigkeitssensor anschließen
Der Grove-Bodenfeuchtigkeitssensor kann an den Raspberry Pi angeschlossen werden.
Aufgabe - Bodenfeuchtigkeitssensor anschließen
Schließen Sie den Bodenfeuchtigkeitssensor an.
-
Stecken Sie ein Ende eines Grove-Kabels in die Buchse des Bodenfeuchtigkeitssensors. Es passt nur in einer Richtung.
-
Schalten Sie den Raspberry Pi aus und verbinden Sie das andere Ende des Grove-Kabels mit der analogen Buchse, die mit A0 auf dem Grove Base Hat des Raspberry Pi markiert ist. Diese Buchse befindet sich in der zweiten Position von rechts in der Reihe der Buchsen neben den GPIO-Pins.
- Stecken Sie den Bodenfeuchtigkeitssensor in die Erde. Der Sensor hat eine Markierung für die maximale Einstecktiefe – eine weiße Linie quer über den Sensor. Stecken Sie den Sensor bis zu dieser Linie, aber nicht darüber hinaus, in die Erde.
Den Bodenfeuchtigkeitssensor programmieren
Der Raspberry Pi kann nun programmiert werden, um den angeschlossenen Bodenfeuchtigkeitssensor zu verwenden.
Aufgabe - Bodenfeuchtigkeitssensor programmieren
Programmieren Sie das Gerät.
-
Schalten Sie den Raspberry Pi ein und warten Sie, bis er hochgefahren ist.
-
Starten Sie VS Code, entweder direkt auf dem Raspberry Pi oder über die Remote-SSH-Erweiterung.
⚠️ Sie können die Anweisungen zum Einrichten und Starten von VS Code in Nightlight - Lektion 1 bei Bedarf nachlesen.
-
Erstellen Sie im Terminal einen neuen Ordner im Home-Verzeichnis des Benutzers
pi
mit dem Namensoil-moisture-sensor
. Erstellen Sie in diesem Ordner eine Datei mit dem Namenapp.py
. -
Öffnen Sie diesen Ordner in VS Code.
-
Fügen Sie der Datei
app.py
den folgenden Code hinzu, um die benötigten Bibliotheken zu importieren:import time from grove.adc import ADC
Die Anweisung
import time
importiert das Modultime
, das später in dieser Aufgabe verwendet wird.Die Anweisung
from grove.adc import ADC
importiert denADC
aus den Grove-Python-Bibliotheken. Diese Bibliothek enthält Code, um mit dem Analog-Digital-Wandler auf dem Pi Base Hat zu interagieren und Spannungen von analogen Sensoren auszulesen. -
Fügen Sie den folgenden Code hinzu, um eine Instanz der Klasse
ADC
zu erstellen:adc = ADC()
-
Fügen Sie eine Endlosschleife hinzu, die den ADC am A0-Pin ausliest und das Ergebnis in die Konsole schreibt. Diese Schleife kann dann zwischen den Messungen 10 Sekunden pausieren.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Führen Sie die Python-App aus. Sie sehen die Bodenfeuchtigkeitsmessungen in der Konsole. Geben Sie etwas Wasser in die Erde oder entfernen Sie den Sensor aus der Erde und beobachten Sie, wie sich der Wert ändert.
pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388
Im obigen Beispielausgang können Sie sehen, wie die Spannung sinkt, wenn Wasser hinzugefügt wird.
💁 Sie finden diesen Code im Ordner code/pi.
😀 Ihr Programm für den Bodenfeuchtigkeitssensor war erfolgreich!
Haftungsausschluss:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst Co-op Translator übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als maßgebliche Quelle betrachtet werden. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Nutzung dieser Übersetzung ergeben.