Nr.17 Feuchtigkeitssensor

Mit dem diesem Sensor können Sie spielend leicht den anliegenden Feuchtigkeitswert, zum Beispiel die Haut- oder Bodenfeuchtigkeit, ermitteln.  Der Sensor ist ebenfalls dafür geeignet, den Wasserstand im Bereich des Sensors zu messen.

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 der Form eines analogen Signals an den Mikrocontroller übermittelt. So lassen sich Zahlenwerte von 0 bis ca 800 erfassen und entsprechend einordnen.  Diese Kalibrierung skaliert jedoch mit der elektrischen Leitfähigkeit der zu messenden Flüssigkeit.

Im ersten Schritt dieser Anleitung möchten wir den Feuchtigkeitssensor in Betrieb nehmen. Anschließend soll der erfasste Feuchtigkeitswert im seriellen Monitor ausgegeben werden.

 


Der Feuchtigkeitssensor

Aufgrund der Elektrolyse von Flüssigkeiten empfehlen wir, Messungen nicht im (Milli-)Sekundentakt durchzuführen. 

 

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 Variable „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.

}

Im zweiten Schritt dieser Anleitung möchten wir eine Abhänigkeit zwischen dem Feuchtigkeitssensor und einem Passive-Buzzer schaffen. Der Laut des Passive-Buzzers soll immer dann ertönen, sobald die gemessene Feuchtigkeit einen von uns gegebenen Grenzwert unterschreitet.

 

Feuchtigkeitssensor und Passive-Buzzer

 


Fritzing-Skizze

In dem folgenden Beispiel haben wir als Grenzwert den Zahlenwert 200 festgelegt.

 

int messwert=0;

int PIEPS=6; //Mit dem Namen "PIEPS" wird jetzt der Pin6 bezeichnet, an dem ein Piezo-Speaker angeschlossen wird.


void setup()
{
Serial.begin(9600);
pinMode (6,OUTPUT); //Im Setup wird der Pin6 als Ausgang festgelegt.
}

void loop()

{

 messwert=analogRead(A0);

 Serial.print("Feuchtigkeits-Messwert:");

 Serial.println(messwert);

 delay(500);

if (messwert <200 ) //Hier beginnt die Abfrage: Wenn der Sensorwert kleiner als "200" ist, dann...

{ 

digitalWrite(PIEPS, HIGH); //...soll der Piezo-Speaker piepsen.
}

else //..ansonsten...

{

digitalWrite(PIEPS, LOW); //...soll er leise sein.

}

}