Feuchtigkeitssensor
sensoricon
Anschluss: Grove: A1 (C16, C17)
Schnittstelle: analog
Ausgabewerte:

trockener Boden: 0 - 300
feuchter Boden: 300 - 700
Wasser: 700 - 950

Weitere Informationen: http://wiki.seeedstudio.com/Grove-Moisture_Sensor
Bestelllink: https://www.conrad.de/de/p/seeed-studio-101020008-feuchtigkeitssensor-1369548.html

Mit dem Klassensatz für die SEK I gibt es die Möglichkeit, eine Pflanzenstation zu entwickeln. Hier können z. B. die Feuchtigkeitssensoren zur Überprüfung von Feuchtigkeit in einem Blumentopf genutzt werden und es kann – sobald festgestellt wird, dass die Pflanze in dem Topf zu trocken ist – mit einer Pumpe (oder eines an einem Servomotor befestigten kleinen Gefäßes) Wasser hinzugefügt werden.

Makecode

Um mit den Werten des Feuchtigkeitssensors arbeiten zu können, muss der jeweilige Wert des Pins abgefragt werden, auf dem der Sensor die Daten sendet. In diesem Fall ist das der Pin C16.
Damit der aktuelle Wert auf dem LED-Display angezeigt wird, kann der Block "zeige Zahl 0" aus der "Grundlagen"-Kategorie genutzt werden. Um nun die Werte des Sensors dort zu sehen, benötigen wir den richtigen Block aus der "Pins"-Kategorie.
Die einzelnen Pin-Blöcke sind unter dem Bereich "Fortgeschritten" zu finden. Dort muss der Block "analoge Werte von Pin P0" ausgewählt und "P0" in "C16" geändert werden. Dieser Block wird anstelle der "0" in dem "zeige Zahl"-Block eingefügt.

Python

Die Werte des Feuchtigkeitssensors können über den Grove Pin pin_A1_RX über die Funktion analogread() ausgelesen werden und in einer Variable Feuchtigkeit gespeichert werden:
feuchtigkeit = pin_A1_RX.read_analog()

Anschließend können die Wertebereiche beispielweise auf die drei Zustände trocken, feucht, sehr freucht abgefragt werden und der Status auf dem Display des calliope mini angezeigt werden:

from calliopemini import *
while True:
    feuchtigkeit = pin_A1_RX.read_analog() # Wert von 0–1023 
    if feuchtigkeit < 300:
        display.scroll("trocken") 
    elif feuchtigkeit < 600:
        display.scroll("feucht") 
    else:
        display.scroll("sehr feucht") 
    sleep(1000)