Nr.17 Feuchtigkeitssensor

Inhaltsverzeichnis

Einen Feuchtigkeitssensor mit einem Arduino ansteuern

Mit dem diesem Sensor kannst du spielend leicht den anliegenden Feuchtigkeitswert, etwa 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.

Feuchtigkeitssensor am Funduino UNO R3 Mikrocontroller (alte Version)

Der Programmcode

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.

}

Erweiterung des Programmcodes

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.

Der Schaltplan

Der Programmcode

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.

}

}

Funduino - Dein Onlineshop für Mikroelektronik

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