Arduino UNO Q - Regensensor
Ein Regensensor kann Regen oder Schnee erkennen und die Regenmenge messen. Er bietet sowohl einen digitalen Ausgang (Regen/kein Regen) als auch einen analogen Ausgang (Intensitätsstufe). Auf Arduino UNO Q liefert der 12-Bit-ADC des MCU höher aufgelöste Intensitätsmessungen. Mit Bridge und Telegram erhalten Sie sofortige Regenwarnungen auf Ihrem Telefon.
In diesem Tutorial werden Sie lernen:
- Was ein Regensensor ist und wie er funktioniert
- Wie Sie den Regensensor mit dem Arduino UNO Q MCU verdrahten
- Wie Sie sowohl den digitalen (DO) als auch den analogen (AO) Ausgang auslesen
- Wie Sie Bridge verwenden, um den Regenzustand und Ereignisse der Linux-Seite (Python) freizulegen
- Wie Sie Telegram-Benachrichtigungen erhalten, wenn Regen auf Arduino UNO Q erkannt wird
- Wie Sie OpenClaw auf Arduino UNO Q mit dem Regensensor verwenden

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über den Regensensor
Der Regensensor besteht aus zwei Teilen: einer Sensorplatte und einem elektronischen Modul.

Sensorplatte: Wird draußen angebracht (auf einem Dach oder einer Fensterbank). Verfügt über abwechselnde Stromversorgungs- und Sensorkupferleitungen — Wasser verbindet diese Leitungen, wenn es regnet.
Elektronisches Modul: Konvertiert das Pad-Signal in lesbare Ausgänge:
- VCC-Pin: 3,3V bis 5V Stromversorgung
- GND-Pin: Masse
- DO-Pin: Digitaler Ausgang — HOCH = kein Regen, TIEF = Regen erkannt. Die Empfindlichkeit wird durch ein Potentiometer auf der Platine eingestellt.
- AO-Pin: Analoger Ausgang — niedrigerer Wert = mehr Regen, höherer Wert = weniger Regen. Das Potentiometer beeinflusst den AO nicht.
Es hat auch zwei LEDs:
- PWR-LED: Stromanzeige
- DO-LED: Leuchtet auf, wenn Regen erkannt wird (DO-Pin TIEF)
Funktionsweise
- DO-Pin: Das Potentiometer setzt einen Schwellenwert. Wenn Regen den Schwellenwert überschreitet, geht DO auf TIEF. Stellen Sie das Potentiometer ein, um die Empfindlichkeit anzupassen.
- AO-Pin: Gibt kontinuierlich eine Analogspannung proportional zum Wasser auf dem Pad aus. Auf Arduino UNO Q liest der MCU dies als 12-Bit-Wert (0–4095) — niedrigere Werte bedeuten mehr Regen.
※ Notiz:
Verbinden Sie VCC mit einem digitalen Ausgangspin (nicht immer 5V an) und schalten Sie den Sensor nur während der Messungen ein. Dies reduziert elektrochemische Korrosion und verlängert die Lebensdauer des Sensors.
Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Regensensor-Pin | Arduino UNO Q MCU |
|---|---|
| GND | GND |
| VCC | D3 (gesteuerte Stromversorgung) |
| DO | D4 |
| AO | A0 |
Wie man für den Regensensor programmiert
- Pins einrichten:
- Sensor einschalten, beide Ausgänge auslesen, dann ausschalten:
- Regen vom digitalen Ausgang überprüfen:
Arduino UNO Q Code
Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:
- Der STM32 MCU liest jeden Sekunde sowohl DO (digital) als auch AO (analog) Ausgänge vom Regensensor
- Der Qualcomm MPU läuft Debian Linux und verwaltet Wi-Fi, Python und Cloud-Konnektivität
- In diesem Abschnitt wird nur der MCU programmiert — die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren via Bridge zusammenarbeiten.
※ Notiz:
Der Arduino UNO Q MCU verwendet einen 12-Bit-ADC (0–4095). Die AO-Intensitätswerte liegen in diesem Bereich — passen Sie die Erkennungsschwellenwerte entsprechend an.
Schnellschritte
Zum ersten Mal mit Arduino UNO Q? Folgen Sie dem Erste Schritte mit Arduino UNO Q Tutorial, bevor Sie fortfahren.
- Verbinden Sie: Verdrahten Sie den Regensensor mit Arduino UNO Q MCU wie im Schaltplan gezeigt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihr Arduino UNO Q erkennt.
- Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Neue App erstellen.

- Geben Sie der App einen Namen, zum Beispiel: RainSensor
- Klicken Sie auf Erstellen, um zu bestätigen.

- Fügen Sie die Skizze ein: Kopieren Sie den MCU-Code oben und fügen Sie ihn in sketch/sketch.ino ein. Halten Sie andere Dateien als Standard.
- Keine Bibliothek erforderlich — verwendet nur die integrierten digitalRead() und analogRead().
- Hochladen: Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab.

- Geben Sie ein paar Tropfen Wasser auf die Sensorplatte und beobachten Sie die Ausgabe im Seriellen Monitor.
- Stellen Sie das Potentiometer auf dem Modul ein, wenn die DO-LED nicht richtig reagiert.
App Lab-Konsolenausgabe
Bridge: Linux + MCU
Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite den Regenzustand lesen und Regenstarterereignisse via Bridge empfangen kann:
- Der Regensensor ist mit dem MCU verbunden — der MCU liest DO und AO jede Sekunde und speichert die Werte zwischen
- Der MPU kann die Sensorstifte nicht direkt auslesen — er ruft Bridge-Funktionen auf, um den Zustand, den Analogwert oder Ereignisse zu erhalten
- Der MPU hat Wi-Fi — es läuft vollständiges Debian Linux, kann also Telegram-Benachrichtigungen senden, sobald Regen erkannt wird
- Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
- ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind RESERVIERT für den Router — öffnen Sie diese nie im Benutzercode
Kurz gesagt: MCU erkennt Regen via DO-Pin → setzt Event-Flag → MPU fragt Bridge ab → MPU sendet Telegram-Benachrichtigung.
MCU-Code (Bridge)
Python-Code (Bridge)
Schnellschritte
- Verbinden Sie: Verdrahten Sie den Regensensor mit Arduino UNO Q wie im Schaltplan gezeigt.
- Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis das Board erkannt wird.
- Erstellen Sie eine neue App: Klicken Sie auf Neue App erstellen, benennen Sie sie RainSensorBridge und klicken Sie dann auf Erstellen.
- Fügen Sie die MCU-Skizze ein: Kopieren Sie den MCU-Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
- Fügen Sie den Python-Code ein: Kopieren Sie den Python-Bridge-Code oben und fügen Sie ihn in die Python-Datei in der App ein.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Hochladen: Klicken Sie auf die Schaltfläche Ausführen in Arduino App Lab.

- Fügen Sie Wasser auf die Sensorplatte hinzu — beobachten Sie die Regenzustandsänderung in beiden Konsolen.
App Lab-Konsolenausgabe
Telegram
Erhalten Sie sofortige Telegram-Benachrichtigungen, wenn Regen auf dem Arduino UNO Q-Regensensor erkannt wird.
MCU-Skizze: Behalten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt.
Python-Code (Telegram)
Schnellschritte
- Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN mit Ihrem tatsächlichen Bot-Token von BotFather.
- Ersetzen Sie YOUR_CHAT_ID mit Ihrer Telegram-Chat-ID.
- Fügen Sie diesen Python-Code in die Python-Datei Ihrer App ein (behalten Sie die gleiche MCU-Skizze).
- Klicken Sie auf die Schaltfläche Ausführen. Fügen Sie Wassertropfen auf den Sensor hinzu — erhalten Sie sofort die Telegram-Benachrichtigung.
App Lab-Konsolenausgabe
ArduinoBot
OpenClaw
You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial
Projektideen
Sie können viele nützliche Projekte mit dem Regensensor und Arduino UNO Q erstellen:
- Regenwarnungssystem: Montieren Sie die Sensorplatte auf einem Dach — wenn es anfängt zu regnen, sendet der MPU eine Telegram-Benachrichtigung mit dem AO-Intensitätswert, damit Sie von überall aus Maßnahmen ergreifen können (Fenster schließen, Wäsche reinholen)
- Automatische Markisesteuerung: Verwenden Sie den Regensensor mit einem Motor/Relais — wenn Regen erkannt wird, schließt der MCU automatisch eine Markise oder einen Jalousie über Bridge und sendet eine Telegram-Benachrichtigung
- Regenfallprotokollierung: Protokollieren Sie jeden Regenerkennung mit Zeitstempel und AO-Intensität in einer CSV-Datei auf Linux — generieren Sie täglich eine Regenzusammenfassung und senden Sie sie um Mitternacht per Telegram
- Intelligente Bewässerungshemmung: Kombinieren Sie mit dem Pump-Tutorial — wenn Regen erkannt wird, überspringt Python den geplanten Bewässerungszyklus, um Wasser zu sparen, und sendet eine Telegram-Nachricht zur Erklärung
- Dachgarten-Monitor: Verfolgung der Regenintensität im Laufe der Zeit mit AO-Werten — Python berechnet alle 15 Minuten den durchschnittlichen Niederschlag und sendet eine regelmäßige Telegram-Zusammenfassung
Fordern Sie sich selbst heraus
Bereit, noch weiter mit dem Regensensor auf Arduino UNO Q zu gehen? Versuchen Sie diese Herausforderungen:
- Einfach: AO-Intensität in Python klassifizieren: wenn int(value) > 3000 → "trocken", > 1500 → "leichter Regen", > 500 → "moderater Regen", sonst "starker Regen" — fügen Sie dieses Label in jede Telegram-Benachrichtigung ein.
- Mittel: Implementieren Sie einen Regendauer-Tracker: Notieren Sie die Startzeit, wenn Regen erkannt wird, und die Endzeit, wenn es stoppt — senden Sie eine Telegram-Nachricht, wenn Regen stoppt und berichten Sie, wie lange es gedauert hat.
- Fortgeschrittene: Erstellen Sie ein 24-Stunden-Niederschlagsdiagramm: Protokollieren Sie AO-Werte jede Minute in eine Liste in Python — implementieren Sie einen /chart Telegram-Befehl, der ein textbasiertes Balkendiagramm der Regenintensität pro Stunde über die letzten 24 Stunden sendet.