1.Einführung

Ein Tropfensensor oder Flüssigkeitssensor erkennt Flüssigkeiten, sobald diese direkt auf den Sensor gelangen. Selbst ein kleiner Tropfen genügt, um einen klaren Messwert zu erhalten.

Der Flüssigkeitssensor kann vielfältig eingesetzt werden, beispielsweise als Regensensor für das automatische Einrollen einer Markise oder das Schließen von Jalousien. Auch das Auslösen eines Alarms oder das Betätigen eines Scheibenwischers sind denkbar.

Die Funktionsweise ist simpel: An den langen Kontaktstellen des Sensors liegt eine Spannung an. Wenn eine Flüssigkeit, wie ein Tropfen Wasser, zwei Kontakte verbindet, fließt ein kleiner Strom zwischen ihnen. Dieser Strom wird im Sensor elektronisch verarbeitet und als analoges Signal an einen analogen Eingang des Arduino-Boards übertragen. Da das Board keine Spannung direkt messen kann, wandelt es die Spannung in einen Zahlenwert um. 0 bis 5 Volt entsprechen einem Wert von 0 bis 1023.

Im trockenen Zustand zeigt der Flüssigkeitssensor den Wert 0 an. Sobald Wasser auf die Kontakte gelangt, steigt der Wert auf etwa 480. Je mehr Wasser vorhanden ist, desto höher wird der Wert.

Im ersten Code geht es lediglich darum, den Wert des Sensors mit dem Arduino-Board auszulesen und im "serial monitor" anzuzeigen.

 

2.Der Schaltplan

Verkabelung am Mikrocontroller und der Schaltplan

Tropfensensor am Funduino Mikrocontroller
+ an 5V
– an GND
  S an A0



Hinweis: Aufgrund der Elektrolyse durch das Wasser oder die Feuchtigkeit an den Sensoren empfehlen wir, die Messungen nicht in Sekundenabständen durchzuführen. Basierend auf Erfahrungen aus Tests, insbesondere bei direktem Kontakt mit Wasser, empfehlen wir einen Abstand von 15 Minuten zwischen jeder Messung. Bei Messungen im Sekundenbereich und durchgängigem Wasserkontakt können nach etwa 24 Stunden Schäden am Sensor durch Elektrolyse auftreten.

3.Der Programmcode

Der Programmcode für die Auswertung des Flüssigkeitssensors ist äußerst einfach und ähnelt stark dem Auslesen von Potentiometern oder Feuchtigkeitssensoren. Es wird lediglich ein analoger Wert ausgelesen.


int messwert = 0; // Die Variable "messwert" speichert den Messwert des Sensors.

void setup() // Hier beginnt das Setup.
{
  Serial.begin(9600); // Start der Kommunikation mit dem seriellen Port für die Anzeige im "serial monitor".
}

void loop() // Hier beginnt der Hauptteil.
{
  messwert = analogRead(A0); // Auslesen der Spannung am Sensor und Speichern unter der Variable "messwert".
  Serial.print("Feuchtigkeits-Messwert: "); // Ausgabe am Serial-Monitor: "Feuchtigkeits-Messwert: "
  Serial.println(messwert); // Anzeigen des Messwerts.
  delay(500); // Kurze Pause, um den Serial-Monitor nicht mit zu vielen Werten zu überfluten.
}

4.Erweiterung des Programms

In dieser Erweiterung soll ein Alarmton mithilfe eines Piezo-Lautsprechers erklingen, sobald ein Regentropfen auf den Sensor fällt. Als Grenzwert wird der Messwert 400 festgelegt, da bei einem Tropfen auf dem Sensor ein Wert von ungefähr 480 zu erwarten ist.

4.1.Verkabelung

Piezo an Funduino Mikrocontroller
+ an D6
– an GND

4.2.Der Programmcode


int messwert = 0;
int PIEPS = 6; // Hier wird der Pin 6 als PIEPS bezeichnet, an dem der Piezo-Lautsprecher angeschlossen ist.

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

void loop() {
  messwert = analogRead(A0);
  Serial.print("Feuchtigkeits-Messwert: ");
  Serial.println(messwert);
  delay(500);
  
  if (messwert > 400) { // Hier wird überprüft, ob der Sensorwert größer als "400" ist.
    digitalWrite(PIEPS, HIGH); // Wenn ja, soll der Piezo-Lautsprecher piepsen.
  } else {
    digitalWrite(PIEPS, LOW); // Ansonsten bleibt der Lautsprecher leise.
  }
}