1. Einführung

 

Mit diesem Sensor kannst du einfach die Feuchtigkeit messen, sei es die Haut- oder Bodenfeuchtigkeit. Die beiden Kontakte des Sensors haben eine Spannung. Wenn die Feuchtigkeit zwischen den Kontakten steigt, kann der Strom besser fließen. Der Sensor wandelt diese Information in ein analoges Signal um und sendet es an den Arduino. Dies ermöglicht es, Feuchtigkeitswerte von 0 bis etwa 800 zu erfassen.

Um den Feuchtigkeitssensor zu verwenden, müssen wir ihn zunächst aktivieren und dann die gemessenen Feuchtigkeitswerte im seriellen Monitor anzeigen lassen.

Wir empfehlen, Messungen nicht zu häufig durchzuführen, da die Elektrolyse von Flüssigkeiten beeinträchtigt werden kann. Es ist ratsam, Messungen nicht im (Milli-)Sekundentakt durchzuführen, um genaue Ergebnisse zu erhalten.

 

2. Der Schaltplan



 

3.Der Programmcode


int messwert = 0; // Hier wird der Messwert des Sensors gespeichert.

void setup() 
{ // Hier beginnt das Setup.
  Serial.begin(9600); // Die Kommunikation mit dem seriellen Port wird gestartet, um die ausgelesenen Werte im Seriellen Monitor anzuzeigen.
}

void loop()
{ // Hier beginnt der Hauptteil.
  messwert = analogRead(A0); // Die Spannung am Sensor wird ausgelesen und in der Variable "messwert" gespeichert.
  Serial.print("Feuchtigkeits-Messwert: "); // Ausgabe im Seriellen Monitor: "Feuchtigkeits-Messwert: "
  Serial.println(messwert); // Anschließend wird der Messwert ausgegeben.
  delay(500); // Eine kurze Pause, damit nicht zu viele Zahlenwerte auf einmal im Seriellen Monitor erscheinen.
}

 

4.Erweiterung des Programmcodes

Im nächsten Schritt möchten wir den Feuchtigkeitssensor und einen passiven Summer miteinander verknüpfen. Der Summer soll aktiviert werden, sobald die gemessene Feuchtigkeit einen bestimmten Grenzwert unterschreitet.

 

4.1.Der Schaltplan



 

4.2.Der Programmcode


int messwert = 0;
int PIEPS = 6; // Ein Piezo-Summer ist an Pin 6 angeschlossen.

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

void loop() {
  messwert = analogRead(A0); // Messwert vom Sensor lesen

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

  delay(500); // Kurze Pause

  if (messwert < 200) { // Wenn der Messwert unter 200 liegt...
    digitalWrite(PIEPS, HIGH); // ...Piezo-Summer aktivieren.
  } else { // Ansonsten...
    digitalWrite(PIEPS, LOW); // ...Piezo-Summer ausschalten.
  }
}