Arduino Mega - Regensensor

In dieser Anleitung lernen wir, wie Sie einen Arduino Mega mit einem Regensensor verwenden, um festzustellen, ob es regnet oder schneit. Wir werden die folgenden Themen behandeln:

Arduino Mega rain sensor

Anschließend können Sie den Code anpassen, um einen Motor oder einen Alarm einzuschalten, wenn Regen oder Schnee erkannt wird.

Benötigte Hardware

1×Arduino Mega
1×USB 2.0 Kabel Typ A/B
1×Regensensor
1×Jumper Kabel
1×(Empfohlen) Screw Terminal Block Shield for Arduino Uno/Mega
1×(Empfohlen) Breadboard Shield for Arduino Mega
1×(Empfohlen) Enclosure for Arduino Mega

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 den Regensensor

Der Regensensor kann Regen oder Schnee erfassen und feststellen, wie viel Regen oder Schnee vorhanden ist. Er liefert zwei Arten von Ausgangssignalen: ein digitales Signal (LOW oder HIGH) und ein analoges Signal.

Der Regensensor besteht aus zwei Teilen:

  • Der Sensorpad
  • Die Steuereinheit
Rain Sensor Pinout
image source: diyables.io

Das Sensorpad

Das Sensorpad wird im Freien platziert, wo es Regen oder Schnee abbekommen kann, zum Beispiel auf einem Dach. Das Pad hat mehrere Kupferdrähte, die in zwei Arten unterteilt sind: Stromkabel und Sensorkabel. Diese beiden Arten bleiben getrennt und berühren sich nicht, es sei denn, Wasser oder Schnee überbrückt sie. Beide Arten funktionieren gleich, sodass Sie jeden Draht als Stromkabel und einen anderen als Sensorkabel wählen können.

Das elektronische Modul

Das Regensensormodul wandelt das Signal vom Sensorpad in einen Wert um, den der Arduino Mega lesen kann, entweder analog oder digital. Es hat vier Pins.

  • VCC Pin: Mit der Stromversorgung verbinden (3,3V bis 5V).
  • GND Pin: Mit der Masse verbinden (0V).
  • DO Pin: Digitaler Ausgang. Er wird HIGH, wenn kein Regen vorhanden ist, und LOW, wenn Regen erkannt wird. Verwenden Sie den kleinen Drehknopf, um den Regenpegel einzustellen.
  • AO Pin: Analoger Ausgang. Der Messwert sinkt, wenn sich mehr Wasser auf dem Sensorpad befindet, und steigt, wenn weniger Wasser vorhanden ist.

Es hat auch zwei kleine LED-Leuchten.

  • Eine Betriebsleuchte (PWR-LED).
  • Eine Regenindikatorleuchte (DO-LED) am DO Pin; sie leuchtet auf, wenn es regnet.

Funktionsweise

Über den DO Pin:

  • Das Modul hat einen Drehknopf zur Einstellung der Empfindlichkeit.
  • Wenn der Regenpegel über das von Ihnen eingestellte Limit steigt, wird der Sensorausgang LOW und die DO-LED leuchtet auf.
  • Wenn der Regenpegel unter dem Limit bleibt, bleibt der Sensorausgang HIGH und die DO-LED bleibt aus.

Über den AO Pin:

  • Wenn das Sensorpad mehr Wasser hat, sinkt der AO Pin-Wert.
  • Wenn das Sensorpad weniger Wasser hat, steigt der AO Pin-Wert.

Das Potentiometer ändert nicht den Wert am analogen Ausgangspin.

Schaltplan

Verbinden Sie den VCC Pin des Sensors mit einem 3,3V oder 5V Pin am Arduino Mega. Die direkte Verkabelung mit den Strompins kann jedoch die Lebensdauer des Sensors durch chemische Korrosion verkürzen. Ein besserer Weg ist es, den VCC Pin des Sensors mit einem Arduino Ausgangspin zu verbinden. Dann können Sie ein Programm schreiben, um diesen Pin nur dann einzuschalten, wenn Sie Messungen durchführen. Dies hilft, chemische Korrosion und Verschleiß am Sensor zu reduzieren.

Der Regensensor hat zwei Ausgänge. Sie können einen oder beide verwenden, je nachdem, was Sie benötigen.

Arduino Mega rain sensor wiring diagram

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

Arduino Mega Code - Wert vom DO Pin lesen

/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega 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-mega/arduino-mega-rain-sensor */ #define POWER_PIN 3 // The Arduino Mega pin that provides the power to the rain sensor #define DO_PIN 4 // The Arduino's pin connected to DO pin of the rain sensor void setup() { // initialize serial communication Serial.begin(9600); // initialize the Arduino'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

Befolgen Sie diese Schritte einzeln nacheinander:

  • Verbinden Sie den Regensensor mit dem Arduino Mega wie im Schaltplan gezeigt.
  • Verbinden Sie den Arduino Mega über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige Board (Arduino Mega) und den korrekten Port.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Drücken Sie die Upload Taste, um den Code an den Arduino Mega zu senden.
  • Geben Sie ein paar Tropfen Wasser auf den Regensensor.
  • Überprüfen Sie die Ergebnisse im Serial Monitor.
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  

Denken Sie daran: wenn die LED die ganze Zeit an bleibt oder ausgeht, auch wenn es auf den Sensor regnet, können Sie den Drehknopf drehen, um die Empfindlichkeit des Sensors zu ändern.

Arduino Mega Code - Wert vom AO Pin lesen

/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega 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-mega/arduino-mega-rain-sensor */ #define POWER_PIN 3 // The Arduino Mega pin that provides the power to the rain sensor #define AO_PIN A0 // The Arduino Mega pin connected to AO pin of the rain sensor void setup() { // initialize serial communication 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 Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf die Upload Taste, um den Code auf den Arduino Mega hochzuladen.
  • Gießen Sie etwas Wasser auf den Regensensor.
  • Schauen Sie, was der Serial Monitor anzeigt.
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!