Raspberry Pi - Regensensor

Der Regensensor erkennt und misst Regen-/Schneepegel und bietet sowohl digitale (LOW/HIGH) als auch analoge Ausgänge. Diese Anleitung führt Sie durch die Verwendung eines Raspberry Pi und eines Regensensors zur Erkennung und Messung von Regen und behandelt:

Sie können dann den Code anpassen, um einen Motor oder eine Warnung zu aktivieren, wenn Regen/Schnee erkannt wird.

Erforderliche Hardware

1×Raspberry Pi 5
1×Regensensor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit
1×(Empfohlen) HDMI-Touchscreen-Monitor für Raspberry Pi

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 dient dazu, das Vorhandensein von Regen zu erkennen oder den Wasserpegel durch Niederschläge zu messen. Er bietet Optionen über einen digitalen Ausgangspin und einen analogen Ausgangspin.

Komponenten des Regensensors umfassen: Sensor-Pad und elektronisches Modul

Rain Sensor Pinout
image source: diyables.io

Das Sensor-Pad

Das Sensor-Pad, das im Freien positioniert wird, um Regen/Schnee zu begegnen (z.B. auf dem Dach), verfügt über freiliegende Kupferleiterbahnen, die in zwei Gruppen unterteilt sind: Stromversorgungsleiterbahnen und Sensor-Leiterbahnen. Diese Leiterbahnen bleiben unverbunden, es sei denn, sie werden durch Wasser oder Schnee überbrückt. Stromversorgungs- und Sensor-Leiterbahnen sind austauschbar, sodass Sie eine als Stromversorgungsleiterbahn und die andere als Sensor-Leiterbahn verwenden können.

Das elektronische Modul

Das elektronische Modul des Regensensors wandelt Signale vom Sensor-Pad in analoge oder digitale Werte um, die vom Raspberry Pi gelesen werden können. Es umfasst vier Pins:

  • VCC Pin: Verbindet sich mit VCC (3,3V bis 5V).
  • GND Pin: Verbindet sich mit GND (0V).
  • DO Pin: Digitaler Ausgangspin; er ist HIGH, wenn kein Regen erkannt wird, und LOW, wenn Regen erkannt wird. Die Regenerkennungsschwelle ist mit einem eingebauten Potentiometer einstellbar.
  • AO Pin: Analoger Ausgangspin; der Wert nimmt mit zunehmendem Wasser auf dem Sensor-Pad ab und steigt, wenn das Wasser abnimmt.

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

  • PWR-LED Anzeige: Zeigt den Stromversorgungsstatus an.
  • DO-LED Anzeige: Stellt den Regenstatus am DO Pin dar und leuchtet auf, wenn Regen vorhanden ist.

Funktionsweise

Bezüglich des DO Pins:

  • Das Modul ist mit einem eingebauten Potentiometer ausgestattet, um die Empfindlichkeitsschwelle einzustellen.
  • Wenn die Intensität die Schwelle überschreitet, wird Regen erkannt, der Ausgangspin des Sensors ist LOW, und die DO-LED leuchtet auf.
  • Wenn die Intensität unter die Schwelle fällt, wird kein Regen erkannt, der Ausgangspin des Sensors ist HIGH, und die DO-LED schaltet sich aus.

Bezüglich des AO Pins:

  • Der Messwert des AO Pins ist umgekehrt proportional zum Wasserpegel im Sensor-Pad.
  • Mehr Wasser führt zu einem niedrigeren AO Pin-Wert, während weniger Wasser zu einem höheren AO Pin-Wert führt.

Hinweis: Das Potentiometer beeinflusst nicht den Wert am AO Pin.

Schaltbild

Wie bereits erwähnt, kann das direkte Verbinden des VCC Pins des Sensors mit den 3,3V oder 5V Pins am Raspberry Pi die Lebensdauer des Sensors aufgrund elektrochemischer Korrosion reduzieren. Eine empfohlene Alternative ist, den VCC Pin des Regensensors mit einem Ausgangspin am Raspberry Pi zu verbinden. Durch die Programmierung dieses Pins kann der Regensensor nur während der Messungen mit Strom versorgt werden, wodurch die Auswirkungen der elektrochemischen Korrosion effektiv minimiert werden.

Raspberry Pi rain sensor wiring diagram

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

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield

BEACHTEN SIE:

  • Da der Raspberry Pi keine analogen Eingangsfähigkeiten hat, kann der AO Pin unverbunden bleiben. Um analoge Werte vom Sensor zu messen, benötigen Sie ein externes ADC-Modul. Für weitere Details besuchen Sie How to use Raspberry Pi with ADC module

Raspberry Pi Code

Schnelle Schritte

  • Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie einige Bibliotheken installieren müssen.
  • Falls Sie den Raspberry Pi zum ersten Mal verwenden, sehen Sie sich an, wie Sie den Raspberry Pi einrichten
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe wie Sie Ihren PC über SSH mit dem Raspberry Pi verbinden.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit dem folgenden Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Erstellen Sie eine Python-Skriptdatei rain_sensor.py und fügen Sie den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi 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/raspberry-pi/raspberry-pi-rain-sensor import RPi.GPIO as GPIO import time POWER_PIN = 12 # GPIO pin that provides power to the rain sensor DO_PIN = 7 # GPIO pin connected to the DO pin of the rain sensor def setup(): GPIO.setmode(GPIO.BCM) GPIO.setup(POWER_PIN, GPIO.OUT) # configure the power pin as an OUTPUT GPIO.setup(DO_PIN, GPIO.IN) def loop(): GPIO.output(POWER_PIN, GPIO.HIGH) # turn the rain sensor's power ON time.sleep(0.01) # wait 10 milliseconds rain_state = GPIO.input(DO_PIN) GPIO.output(POWER_PIN, GPIO.LOW) # turn the rain sensor's power OFF if rain_state == GPIO.HIGH: print("The rain is NOT detected") else: print("The rain is detected") time.sleep(1) # pause for 1 second to avoid reading sensors frequently and prolong the sensor lifetime def cleanup(): GPIO.cleanup() if __name__ == "__main__": try: setup() while True: loop() except KeyboardInterrupt: cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
python3 rain_sensor.py
  • Geben Sie etwas Wasser auf den Regensensor
  • Überprüfen Sie das Ergebnis im Serial Monitor.
PuTTY - Raspberry Pi
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

Bitte beachten Sie, dass wenn Sie bemerken, dass der LED-Status konstant ein- oder ausgeschaltet bleibt, auch wenn der Sensor Regen ausgesetzt ist, Sie das Potentiometer justieren können, um die Empfindlichkeit des Sensors feinabzustimmen.

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!