Arduino Nano - Regensensor

Der Regensensor kann Regen- und Schneemengen erkennen und messen und bietet sowohl digitale (LOW/HIGH) als auch analoge Ausgänge. Dieses Tutorial zeigt, wie man einen Arduino Nano verwendet, um den Regensensor anzuschließen und zu nutzen, und erläutert, wie man das digitale Signal zum Erkennen von Regen liest und das analoge Signal zur Messung der Regenmenge nutzt.

Anschließend können Sie den Code so anpassen, dass ein Motor oder ein Warnsystem ausgelöst wird, sobald Regen oder Schnee erkannt wird.

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Regensensor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Regen-Sensor

Der Regensensor kann das Vorhandensein von Regen erkennen oder den Wasserstand aus dem Niederschlag messen. Er bietet zwei Optionen über einen digitalen Ausgangspin und einen analogen Ausgangspin.

Der Regensensor besteht aus zwei Teilen: einer Sensorplatte und einem elektronischen Modul.

Pinbelegung des Regensensors
image source: diyables.io

Das Sensor-Pad

Die Erfassungsplatte, die im Freien platziert ist, um Regen und Schnee zu begegnen (z. B. auf einem Dach), verfügt über freiliegende Kupferbahnen, die in zwei Gruppen unterteilt sind: Versorgungsbahnen und Messbahnen. Diese Bahnen bleiben unverbunden, es sei denn, sie werden durch Wasser oder Schnee überbrückt. Sowohl Versorgungsbahnen als auch Messbahnen sind austauschbar, sodass Sie eine als Versorgungsbahn festlegen können, während die andere als Messbahn fungiert.

Das elektronische Modul

Das elektronische Modul des Regensensors wandelt Signale von der Sensorauflage in analoge oder digitale Werte um, die vom Arduino Nano gelesen werden können. Es verfügt über vier Pins:

  • VCC-Pin: Verbindet mit VCC (3,3 V bis 5 V).
  • GND-Pin: Verbindet mit GND (0 V).
  • DO-Pin: Digitalausgangspin. Er ist HIGH, wenn kein Regen erkannt wird, und LOW, wenn Regen erkannt wird. Der Regen-Erkennungsschwellenwert ist über ein eingebautes Potentiometer einstellbar.
  • AO-Pin: Analogausgangspin. Der Ausgangswert nimmt ab, wenn mehr Wasser auf dem Sensorpad vorhanden ist, und nimmt zu, wenn weniger Wasser vorhanden ist.

Darüber hinaus verfügt es über zwei LED-Anzeigen:

  • Eine PWR-LED-Anzeige für die Stromversorgung.
  • Eine DO-LED-Anzeige für den Regenstatus am DO-Pin, die leuchtet, wenn Regen vorhanden ist.

Wie es funktioniert

Bezüglich des DO-Pins:

  • Das Modul verfügt über ein integriertes Potentiometer zur Einstellung der Schwelle (Empfindlichkeit).
  • Wenn die Intensität die Schwelle überschreitet, wird Regen erkannt, der Ausgangspin des Sensors ist LOW, und die DO-LED leuchtet.
  • Umgekehrt gilt: Liegt die Intensität unterhalb der Schwelle, wird kein Regen erkannt, der Ausgangspin ist HIGH, und die DO-LED ist aus.

Für den AO-Pin:

  • Der AO-Pin liest niedrigere Werte, wenn der Wassergehalt im Sensorpad zunimmt.
  • Umgekehrt liest er höhere Werte, wenn der Wassergehalt abnimmt.

Es ist wichtig zu beachten, dass das Potentiometer den Wert des AO-Pins nicht beeinflusst.

Verdrahtungsdiagramm

Wie bereits erwähnt, kann das direkte Anschließen des VCC-Pins des Sensors an die 3,3-V- oder 5-V-Pins des Arduino Nano die Lebensdauer des Sensors aufgrund elektrochemischer Korrosion verkürzen. Um dem entgegenzuwirken, wird empfohlen, den VCC-Pin des Regensensors an einen Ausgangspin des Arduino Nano anzuschließen. Auf diese Weise kann die Programmierung dieses Pins so konfiguriert werden, dass der Regensensor nur während der Messungen mit Strom versorgt wird, wodurch die Auswirkungen der elektrochemischen Korrosion minimiert werden.

Da das Regensensor-Modul zwei Ausgänge hat, können Sie je nach Bedarf einen oder beide verwenden.

  • Verdrahtungsdiagramm zwischen Arduino Nano und dem Regensensor, wenn nur DO verwendet wird.
Arduino Nano Regen-Sensor-Schaltplan

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

  • Der Schaltplan zwischen dem Arduino Nano und dem Regensensor, wenn nur AO verwendet wird.
Arduino Nano Regen-Erkennung Verdrahtungsdiagramm

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

  • Schaltplan zwischen dem Arduino Nano und dem Regen-Sensor, wenn sowohl AO als auch DO verwendet werden.
Arduino Nano Regen-Sensor Verdrahtungsdiagramm

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

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

Arduino Nano Code - Wert vom digitalen Ausgangspin lesen

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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-nano/arduino-nano-rain-sensor */ #define POWER_PIN D5 // The Arduino Nano pin that provides the power to the rain sensor #define DO_PIN D9 // The Arduino Nano pin connected to DO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano's pin as an input pinMode(POWER_PIN, OUTPUT); // Configure the power pin pin as an OUTPUT pinMode(DO_PIN, INPUT); } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the rain sensor's power ON delay(10); // wait 10 milliseconds int rain_state = digitalRead(DO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF if (rain_state == HIGH) Serial.println("The rain is NOT detected"); else Serial.println("The rain is detected"); delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Schnelle Schritte

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino-IDE
  • Klicken Sie auf die Schaltfläche Hochladen in der Arduino-IDE, um den Code auf den Arduino Nano hochzuladen
  • Gießen Sie etwas Wasser auf den Regen-Sensor
  • Schauen Sie sich das Ergebnis im Serial Monitor an.
COM6
Send
The rain is NOT detected The rain is NOT detected The rain is NOT detected The rain is detected The rain is detected The rain is detected The rain is detected The rain is detected The rain is NOT detected The rain is NOT detected The rain is NOT detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Bitte beachten Sie, dass Sie das Potentiometer einstellen können, um die Empfindlichkeit des Sensors feinabzustimmen, falls Sie feststellen, dass der LED-Status dauerhaft leuchtet oder selbst dann aus bleibt, wenn der Sensor dem Regen ausgesetzt ist.

Arduino Nano Code - Wert vom AO-Pin auslesen

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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-nano/arduino-nano-rain-sensor */ #define POWER_PIN D5 // The Arduino Nano pin that provides the power to the rain sensor #define AO_PIN A0 // The Arduino Nano pin connected to AO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); pinMode(POWER_PIN, OUTPUT); // Configure the power pin pin as an OUTPUT } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the rain sensor's power ON delay(10); // wait 10 milliseconds int rainValue = analogRead(AO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF Serial.println(rainValue); // print out the analog value delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Schnelle Schritte

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie auf die Schaltfläche Upload in der Arduino IDE, um den Code auf den Arduino Nano hochzuladen
  • Gießen Sie etwas Wasser auf den Regensensor
  • Überprüfen Sie das Ergebnis im seriellen Monitor
COM6
Send
225 2426 236 563 687 959 975 1009 1017 1053 1078 841 743 440 279
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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!