Bodenfeuchte messen mit dem DHT22

Auch in diesem Beitrag geht es um Sensoren, für die man sich getrost sein Geld sparen kann. Sicher hat jeder schon einmal die Bodenfeuchtesensoren gesehen die aus einer Platine und einem Sensor in Form von zwei Zinken, die in die Erde gesteckt werden, gesehen. Nachteil der meisten dieser Sensoren ist der, dass der chemische Prozess, der sich in der feuchten Erde abspielt, dafür sorgt, dass die Zinken oder besser gesagt die metallische Schicht auf den Zinken schon nach kurzer Zeit so zersetzt ist dass der Sensor seine Arbeit nicht mehr verrichten kann.

Bodenfeuchtesensor Defekt

Auf dem Bild oben können Sie sehen wie zerfressen die Kupferschicht meines Bodenfeuchtesensors ist. Dieser Sensor war nur wenige Tage im Einsatz.

Auch hier habe ich mir Gedanken gemacht wie ich am besten und zuverlässigsten über einen längeren Zeitraum die Feuchtigkeit der Erde messen kann. Dabei kam mir die Idee, einen DHT22 Sensor für diese Arbeit zu missbrauchen.

Ich habe einen DHT22 in einen alten Filzstift eingebaut. Der DHT22 befindet sich ca 2cm von der Öffnung entfernt im Stift. Um nun die Bodenfeuchte meiner Zimmerpflanzen zu messen, reicht es bereits, den Stift in die Blumenerde zu stecken. Der DHT22 ist jedoch so genau, dass es auch ausreichen würde, die Öffnung des Stiftes über der Blumenerde zu positionieren ohne dass ein Kontakt mit der Blumenerde besteht. Ich habe es bis auf eine Entfernung von 30cm getestet und es funktioniert perfekt.

DHT22 als Bodenfeuchtesensor

 

Der Code sollte klar sein. Es sollte lediglich der Pin, an dem man den DHT22 Sensor angeschlossen hat und der Wert hinter „PlantToDryUnderValue“ angepasst werden.  PlantToDryUnderValue ist bei mir der Wert, ab der bei mir die Pflanzenerde als zu trocken gilt. Diesen Wert muss jeder für sich selbst anhand des Seriellen Monitors bei verschieden feuchten Erden ermitteln.

#include "DHT.h"

const byte DHTPIN  = 2; // Digitaler Pin DHT22 Sensor
const byte PlantToDryUnderValue = 50;  // Humidity Wert vom DHT22 unter dem die Erde als trocken gilt

byte humidity;
byte temperature;

DHT dht(DHTPIN, DHT22);



void setup() {
  Serial.begin(9600);
  dht.begin();
}



void loop() 
{
  humidity    = dht.readHumidity();
  temperature = dht.readTemperature();

  if (isnan(temperature) || isnan(humidity)) { 
    Serial.println(F("DHT22 Sensor Fehler"));
  }

  if(humidity < PlantToDryUnderValue) {
    Serial.print("Pflanzenerde zu trocken, bitte Wasser geben!");
  } else {
    Serial.print("Feuchtigkeit: ");
    Serial.print(humidity,1);
    Serial.print(" %, ");
    Serial.print("Temperatur: ");
    Serial.print(temperature,1);
    Serial.println("C"); 
  }
}

DHT22 als Bodenfeuchtesensor

Noch ein Tipp falls man den Sensor in die Erde steckt und verhindern will dass doch Feuchtigkeit eindringen kann. Einfach die Öffnung des Stiftes mit einem Stück GoreTex Stoff zukleben und der DHT22 bleibt heile auch wenn man den Sensor mal zu tief in die Erde steckt.

Ich bin einfach nur begeistert von dieser Lösung. Der Sensor hat keinen Kontakt zur feuchten Pflanzenerde und kann so auch nicht korrodieren. Gleichzeitig ist der Sensor absolut genau und zuverlässig.

Über Enrico S.

Programmierer, Webdesigner, Grafiker, Blogger, Screencaster, Arduino- und eMobility Enthusiast. nefilim3006 ist auch bei Google+ vertreten

5 Kommentare zu “Bodenfeuchte messen mit dem DHT22

  1. Ich habe mit ähnlichem schon gerechnet,
    deswegen kam es bei mir nicht für längere Zeit zum Einsatz.
    Meine Lösung wäre, zumindest um die Korrosionsrate zu verlangsamen, das der Sensor bei Nutzung eines Spannungsteilers(nicht mit dem AD-Wandler,

    5V–|Sensor|–|A–|R|–GND

    Das wäre der einfachste Aufbau (A-Analog Sensor Pin, R- Widerstand)
    Stattdessen, würde ich den Sensor nicht dauerhaft unter Spannung und somit Strom setzen, statt an den 5V Pin würde ich einen Digital Pin HIGH schalten, dann kommen 5V raus bei der Messung. Wenn der Pin LOW ist, sollte keine Spannung anliegen und somit kein Strom fließen, damit würde man Ihn länger haltbar machen können.
    Was mich noch interessieren würde, wäre ob man die Feuchtigkeit über die Kapazität messen könnte bzw. ob es auch mit Wechselspannung gehen würde, fraglich nur, wie Gesund das auf dauer für die Pflanze ist.

    • Ja das hat sich ja nun erledigt. Ich bin mit meiner jetzigen Lösung sehr zufrieden. Zumal meine Bodenfeuchtesensoren eh alle hinüber sind.
      Trotzdem Danke für den Vorschlag.

    • Was mich nun aber interessiert, welche Wert muss der DHT22 ausgeben, damit du weißt, das die Erde noch feucht genug ist?

    • Das muss jeder wie gesagt selbst ermitteln. Einfach beim einrichten mit dem Finger selber fühlen ob die Erde feucht oder trocken ist und schauen was der DHT für einen Feuchtigkeitswert ausgibt. Den Wert würde ich dann als Schwellwert vorgeben.

  2. Du bist ein Genie!

    Da zerbricht man sich Stunden den Kopf, schaut nach kapazitiven Sensoren und dabei hat man noch genug Dht22 daheim.

    Werde es testen, wenn es klappt einfach nur genial!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte geben Sie das Ergebnis ein! *