Boden Feuchtigkeitssensor

Gerade wenn wir mit Pflanzen hantieren, ist es wichtig zu wissen, ob sie noch gegossen werden müssen. Das gilt vor allem für Topfpflanzen, die abhängig vom Gießverhalten der Menschen sind. Doch das kann unter Umständen schwierig sein, da man schnell die Übersicht verlieren kann, wann das nächste Mal gewässert werden sollte. Dafür gibt es aber einen Bodenfeuchtigkeitssensor. Während der Luftfeuchtigkeitssensor genau das getan hat – die Feuchtigkeit in der Luft gemessen – macht der Bodenfeutchigkeitssensor genau dasselbe, nur halt für den Boden.

Um die ganze Theorie auch in die Tat umzusetzen, gibt es zwei Beine, die in den Boden gesteckt werden. Da Feuchtigkeit Strom leitet, können wir den Boden in diesem Fall als Widerstand verstehen. Den entstehenden Widerstandswert können wir messen und wissen dann genau, wann unsere Topfpflanze endlich mal wieder etwas Wasser brauchen könnte.

Anschlüsse PiAnschlüsse Sensor
5VVCC
Analoges Singal -> CH1
GNDGND
import spidev
import time
import os
import RPi.GPIO as gpio

# SPI Verbindung herstellen
spi = spidev.SpiDev()
spi.open(0,0)
spi.max_speed_hz=1000000

# Liest Daten vom MCP3008
def analogEingang(channel):
  adc = spi.xfer2([1,(8+channel)<<4,0])
  data = ((adc[1]&3) << 8) + adc[2]
  return data

while True:
  print("Feuchtigkeit: "+str(analogEingang(1)))
  time.sleep(0.2)

Das Programm funktioniert ähnlich wie der Photowiderstand. Ein analoger Wert wird ausgelesen und wiedergegeben. Auch hier können die Messwerte sich unterscheiden. Bei einer vertrockneten/sehr trockenen Pflanze kommen wir auf einen Wert von über 900, während wir bei unserer gut gewässerten Topfpflanze einen Wert von ca. 400 messen können. Diese Wert sind natürlich von Pflanze zu Pflanze unterschiedlich.