Nr. 17 – Feuchtigkeitssensor (NodeMCU)

Inhaltsverzeichnis

Einen Feuchtigkeitssensor am NodeMCU verwenden

Mit einem Feuchtigkeitssensor (Moisture Sensor) kann man Feuchtigkeit messen. Dies bezieht sich jedoch auf die direkt anliegende Feuchtigkeit, wie z.B. Hautfeuchtigkeit oder Bodenfeuchtigkeit, nicht jedoch auf Luftfeuchtigkeit. Man kann ihn zum Beispiel verwenden, um die Feuchtigkeit im Boden von Pflanzen zu messen. Im Falle von Trockenheit könnte dann ein Alarmsignal ertönen oder eine elektrische Wasserpumpe könnte die Pflanze automatisch mit Wasser versorgen.

Der Sensor eignet sich ebenfalls, um den Wasserstand im Bereich des Sensors zu messen. Die Funktionsweise ist einfach. An den beiden Kontakten des Sensors liegt eine Spannung an. Je höher die Feuchtigkeit zwischen den beiden Kontakten ist, desto besser kann der Strom von einem Kontakt zum anderen fließen. Dieser Wert wird im Sensor elektronisch aufbereitet und in Form eines analogen Signals an einen analogen Eingang des Boards übermittelt. Da das Board, wie bereits in vorherigen Tutorials beschrieben, keine elektrische Spannung als solche messen kann, wandelt es die am analogen Pin anliegende Spannung in einen Zahlenwert um. 0 bis 5 Volt entspricht einem Zahlenwert von 0 bis 1023 (Das sind 1024 Zahlen, da die Null als erster Zahlenwert gezählt wird).

Bei dem Feuchtigkeitssensor liegt das obere Limit jedoch ca. bei dem Zahlenwert 800, wenn der Sensor komplett im Wasser eingetaucht ist. Die genaue Kalibrierung ist jedoch abhängig vom Sensor und von der Art der Flüssigkeit/Feuchtigkeit, die gemessen wird (bspw. hat Salzwasser eine bessere Leitfähigkeit und der Wert wäre entsprechend höher).

Der Aufbau

Hinweis zu Messungen:

Wir empfehlen, aufgrund der Elektrolyse durch das Wasser bzw. die Feuchtigkeit an den Sensoren, die Messungen nicht in einem Sekundenabstand durchzuführen. Aus Erfahrungen durch Tests direkt im Wasser empfehlen wir einen Abstand von 15 Minuten zwischen jeder Messung. Bei Messungen im Sekundenbereich, bei direktem und durchgängigem Wasserkontakt, entstehen durch die Elektrolyse nach ca. 24 Stunden Schäden am Sensor.

Die Programmierung

Die Programmierung ist unkompliziert und ähnelt sehr stark dem Auslesen von Potentiometern, da einfach nur ein analoger Wert ausgelesen wird.

int messwert=0; //Unter der Variablen "messwert" wird später der Messwert des Sensors gespeichert.

void setup() 

{ ////Hier beginnt das Setup.

  Serial.begin(9600); //Die Kommunikation mit dem seriellen Port wird gestartet. Das benötigt man, um sich den ausgelesenen Wert im Serial Monitor anzeigen zu lassen.

}

void loop()

{ //Hier beginnt der Hauptteil  

 messwert=analogRead(A0); //Die Spannung an dem Sensor wird ausgelesen und unter der Variablen „messwert“ gespeichert.

  Serial.print("Feuchtigkeits-Messwert:"); //Ausgabe am Serial Monitor: Das Wort „Feuchtigkeits-Messwert:"
  Serial.println(messwert); //und im Anschluss der eigentliche Messwert.
  delay(500); //Zum Schluss noch eine kleine Pause, damit nicht zu viele Zahlenwerte über den Serial Monitor rauschen.

}

Funduino - Dein Onlineshop für Mikroelektronik

  • Dauerhaft 10% Rabatt für Schüler, Studenten und Lehrkräfte
  • Mehr als 2.000 Artikel sofort verfügbar!
  • Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.
SALE