Arduino UNO R4 - Wassersensor

Dieses Tutorial zeigt uns, wie man einen Wassersensor mit dem Arduino UNO R4 verwendet. Ein Wassersensor kann feststellen, ob es ein Wasserleck gibt, die Niederschlagsmenge messen, prüfen, ob ein Tank überläuft, oder den Wasserstand überprüfen. Im Detail werden wir lernen:

Arduino UNO R4 und Wassersensor-Modul

Über Wasserstandssensor

Wasserstandssensor Pinbelegung

Der Wasserstandssensor verfügt über drei Pins:

  • S (Signal) Pin: Dies ist ein analoger Ausgang. Verbinden Sie ihn mit einem analogen Eingang an Ihrem Arduino UNO R4.
  • + (VCC) Pin: Dieser Pin versorgt den Sensor mit Strom. Verwenden Sie 3,3 V bis 5 V, um ihn zu versorgen.
  • - (GND) Pin: Dies ist eine Erdungsverbindung.
Wassersensor-Pinbelegung

※ Notiz:

Die Ausgabe des Sensorsignals ändert sich abhängig von der an den VCC-Pin angelegten Spannung.

Wie der Wasserstandssensor funktioniert

Wenn sich der Sensor in mehr Wasser befindet, erhöht sich die Ausgangsspannung am Signalausgangspin.

Schauen wir uns genauer an.

Dieser Abschnitt widmet sich vertieftem Wissen. Machen Sie sich KEINE Sorgen, wenn Sie es nicht verstehen. Überspringen Sie diesen Abschnitt, wenn er Sie überfordert, und kommen Sie an einem anderen Tag zurück. Lesen Sie weiter mit den folgenden Abschnitten.

Der Sensor enthält zehn Kupferleitungen, die Sie sehen können. Er hat fünf Stromleitungen und fünf Sensorsignalleitungen. Diese Leitungen sind nebeneinander angeordnet und wechseln sich ab, wobei zwischen je zwei Stromleitungen jeweils eine Sensorsignalleitung liegt. Normalerweise berühren sich diese Leitungen nicht, aber wenn der Sensor ins Wasser getaucht wird, verbindet das Wasser die Leitungen.

Die Leiterbahnen verhalten sich wie ein variabler Widerstand (ähnlich einem Potentiometer), der seinen Widerstand je nach Wasserstand ändert.

  • Die Veränderung des Widerstands zeigt, wie weit der Sensor von der Oberkante bis zur Wasseroberfläche entfernt ist.
  • Der Widerstand sinkt, je höher der Wasserstand ist.
  • Wenn der Sensor stärker unter Wasser liegt, leitet er Strom besser, wodurch der Widerstand niedriger wird.
  • Wenn der Sensor weniger unter Wasser liegt, leitet er Strom schlechter, wodurch der Widerstand steigt.
  • Der Sensor liefert eine Ausgangsspannung, die vom Widerstand abhängt.

Wir können den Wasserstand ermitteln, indem wir die Spannung messen.

Verdrahtungsdiagramm

Um dem Sensor Strom zuzuführen, schließen Sie den VCC-Pin des Sensors an den 5V-Pin des Arduino UNO R4 an und den GND-Pin an den GND-Pin des Arduino UNO R4.

Es ist jedoch nicht ratsam, den Sensor ständig in einer feuchten Umgebung mit Strom zu versorgen, da dies dazu führen kann, dass der Sensor schnell korrodiert und seine Lebensdauer verkürzt wird. Um dies zu vermeiden, empfehlen wir, den Sensor nur dann mit Strom zu versorgen, wenn Sie seine Daten lesen müssen. Sie können dies tun, indem Sie den VCC-Pin des Sensors mit einem digitalen Pin am Arduino UNO R4 verbinden. Setzen Sie den Pin des Arduino auf HIGH, um den Sensor auszulesen, und anschließend auf LOW, wenn Sie fertig sind.

Arduino UNO R4 Wassersensor Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Arduino UNO R4-Code – Auslesen des Wertes vom Wassersensor

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-r4/arduino-uno-r4-water-sensor */ #define POWER_PIN 5 // Der Arduino UNO R4-Pin, der mit dem VCC-Pin des Wasser-Sensor verbunden ist, um die Stromzufuhr zu steuern #define SIGNAL_PIN A0 // Der Arduino UNO R4-Pin, der mit dem Signalausgang des Wasser-Sensors verbunden ist int value = 0; // Variable zum Speichern des vom Sensor ausgelesenen Werts void setup() { Serial.begin(9600); // Serielle Kommunikation mit 9600 Baud starten pinMode(POWER_PIN, OUTPUT); // POWER_PIN als Ausgang festlegen digitalWrite(POWER_PIN, LOW); // Zunächst POWER_PIN auf LOW setzen, um den Sensor auszuschalten } void loop() { digitalWrite(POWER_PIN, HIGH); // POWER_PIN auf HIGH setzen, um den Sensor mit Strom zu versorgen delay(10); // Dem Sensor Zeit geben, sich zu stabilisieren (10 ms Verzögerung) value = analogRead(SIGNAL_PIN); // Den vom Sensor ausgelesenen Wert lesen digitalWrite(POWER_PIN, LOW); // POWER_PIN auf LOW setzen, um den Sensor auszuschalten Serial.print("Sensor value: "); // Den Sensorwert an den Serial Monitor ausgeben Serial.println(value); // Sensorwert anzeigen delay(1000); // 1 Sekunde warten, bevor erneut gelesen wird }

Schnelle Schritte

Folgen Sie diesen Anweisungen Schritt für Schritt:

  • Wenn dies das erste Mal ist, dass Sie den Arduino Uno R4 WiFi/Minima verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE: Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
  • Schließen Sie den Wassersensor gemäß dem bereitgestellten Diagramm an den Arduino Uno R4 an.
  • Schließen Sie das Arduino Uno R4-Board über ein USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4-Board aus (z. B. Arduino Uno R4 WiFi) und den COM-Port.
  • Kopieren Sie den bereitgestellten Code und öffnen Sie ihn in der Arduino IDE.
  • Drücken Sie den Hochladen-Knopf in der Arduino IDE, um den Code auf den Arduino UNO R4 zu übertragen.
  • Senken Sie den Sensor allmählich ins Wasser (verwenden Sie ein Glas Wasser).
  • Überprüfen Sie das Ergebnis im Serial Monitor. Es zeigt den Wert 0 an, wenn der Sensor nichts berührt.
COM6
Send
Sensor value: 0 Sensor value: 0 Sensor value: 0 Sensor value: 25 Sensor value: 97 Sensor value: 284 Sensor value: 428 Sensor value: 435 Sensor value: 441 Sensor value: 455 Sensor value: 467 Sensor value: 521 Sensor value: 528 Sensor value: 553
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Der Sensor sollte nicht vollständig in Wasser eingetaucht werden; nur die freiliegenden Teile der Leiterplatte dürfen mit dem Wasser in Berührung kommen. Bitte installieren Sie ihn sorgfältig.

Wie man Wasserlecks erkennt

Um herauszufinden, ob es zu Wasserleckagen, Regenfällen oder einem Tanküberlauf kommt, vergleichen wir einfach die Messung mit einem festgelegten Grenzwert. Wir legen diesen Grenzwert während des Kalibrierungsschritts dieses Tutorials fest.

Arduino UNO R4 Code - Wasserleck-Erkennung

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-r4/arduino-uno-r4-water-sensor */ #define POWER_PIN 5 // Der Arduino UNO R4 Pin, der mit dem VCC-Pin des Wassersensors verbunden ist, um die Stromzufuhr zu steuern #define SIGNAL_PIN A0 // Der Arduino UNO R4 Pin, der mit dem Signalausgang des Wassersensors verbunden ist #define THRESHOLD 300 int value = 0; // Initialisiere Variable zum Speichern des vom Sensor gelesenen Wertes void setup() { Serial.begin(9600); pinMode(POWER_PIN, OUTPUT); // Den Power-Pin als Ausgang festlegen digitalWrite(POWER_PIN, LOW); // Anfangs die Stromzufuhr ausschalten } void loop() { digitalWrite(POWER_PIN, HIGH); // Stromzufuhr zum Sensor einschalten delay(10); // Lass dem Sensor etwas Zeit, um sich zu stabilisieren value = analogRead(SIGNAL_PIN); // Lese den Sensor-Ausgang digitalWrite(POWER_PIN, LOW); // Stromzufuhr zum Sensor ausschalten if (value > THRESHOLD) { // Prüfe, ob der Sensor-Ausgang den Schwellenwert überschreitet Serial.print("The water is dedected"); // Sende eine Nachricht an den Seriellen Monitor } }

Wie man den Wasserstand misst

Um den höchsten Wasserstand in verschiedene Phasen zu unterteilen und die aktuelle Phase zu überprüfen, verwenden Sie die Technik im folgenden Code. Beachten Sie, dass der höchste Wasserstand der Höhe des Sensors entspricht. Dieser Code teilt die höchste Höhe in 4 Phasen auf.

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-r4/arduino-uno-r4-water-sensor */ #define POWER_PIN 5 // Der Arduino UNO R4-Pin, der mit dem VCC-Pin des Wassersensors verbunden ist, um die Stromversorgung zu steuern #define SIGNAL_PIN A0 // Der Arduino UNO R4-Pin, der mit dem Signalausgang des Wassersensors verbunden ist #define SENSOR_MIN 0 // Minimalwert für den Sensor #define SENSOR_MAX 521 // Maximalwert für den Sensor int value = 0; // Hält den aktuellen Sensorwert int level = 0; // Enthält die Wasserstandsanzeige void setup() { Serial.begin(9600); // Serielle Kommunikation initialisieren pinMode(POWER_PIN, OUTPUT); // Leite den Power_PIN als Ausgang fest digitalWrite(POWER_PIN, LOW); // Sensor zunächst ausschalten } void loop() { digitalWrite(POWER_PIN, HIGH); // Sensor aktivieren delay(10); // Warte, bis sich der Sensor stabilisiert value = analogRead(SIGNAL_PIN); // Lese den Sensorwert digitalWrite(POWER_PIN, LOW); // Sensor deaktivieren level = map(value, SENSOR_MIN, SENSOR_MAX, 0, 4); // Werte des Sensors auf die Skala 0-4 abbilden Serial.print("Water level: "); // Das Label ausgeben Serial.println(level); // Den zugeordneten Wasserstand ausgeben delay(1000); // Eine Sekunde warten, bevor erneut wiederholt wird }

※ Notiz:

  • SENSOR_MIN und SENSOR_MAX werden während des Kalibrierungsprozesses festgelegt.
  • Die oben genannte Zuordungsmethode ist möglicherweise nicht präzise, funktioniert jedoch gut für viele Anwendungen. Um die Genauigkeit zu erhöhen, messen Sie die Schwellenwerte für jede Stufe, wie im Kalibrierungsabschnitt erläutert.

Kalibrierung des Wasserstandssensors

Der Ausgang des Sensors wird durch den Wasserstand und die Leitfähigkeit des Wassers beeinflusst. Reines Wasser leitet keinen Strom. Wasser mit Mineralien und Verunreinigungen leitet jedoch Strom. Je größer die Leitfähigkeit des Wassers, desto sensibler wird der Sensor. Zusätzlich ändert sich der Ausgangswert bei unterschiedlichen Spannungen, die am VCC-Pin des Sensors angelegt werden.

Für genaue Messwerte des Wassersensors empfehlen wir, ihn für die jeweilige Wasserart zu kalibrieren, die Sie überwachen werden.

Bevor Sie das Limit für eine Aktion festlegen, messen Sie zuerst den tatsächlichen Wert des Sensors, indem Sie einen Test durchführen.

Wie führt man den Test durch:

  • Verwenden Sie die bereitgestellte Zeichnung, um den Wert des Sensors abzulesen.
  • Tauchen Sie den Sensor ins Wasser, bis der von Ihnen gewünschte Wasserstand erreicht ist.
  • Notieren Sie den Wert, der im Serial Monitor angezeigt wird.
  • Legen Sie diesen Wert als Grenzwert fest, um eine Aktion auszulösen.

Dieser Test könnte einige Versuche erfordern, um ihn richtig zu lösen.

Der Test kann auch dabei helfen, zu entdecken:

  • Minimalwert des Sensors, wenn er außerhalb des Wassers ist.
  • Maximalwert des Sensors, wenn er vollständig im Wasser ist.
  • Ein Schwellenwert zur Erkennung von Wasserlecks.
  • Schwellenwerte für jede Stufe auf Ihrer Skala.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!