ESP32 S3 - Regensensor

Erfahren Sie, wie Sie einen ESP32 S3 mit einem Regensensor verwenden, um Niederschlag zu erkennen und Feuchtigkeitswerte zu messen. Dieses einsteigerfreundliche Tutorial behandelt sowohl die digitale als auch die analoge Regenerkennung mit einfacher Verdrahtung und Codebeispielen.

Was Sie bauen werden:

  1. Ein Regenerkennungssystem, das den digitalen Ausgangspin des Sensors nutzt
  2. Einen Regenintensitätsmesser, der den analogen Ausgangspin für kontinuierliche Messwerte nutzt
  3. Einen korrosionsarmen Aufbau, der den Sensor nur während der Messungen mit Strom versorgt
  4. Eine Anzeige im Seriellen Monitor mit Regenstatus und Feuchtigkeitswerten in Echtzeit
esp32 s3 Regensensor

Nach Abschluss dieses Tutorials können Sie den Code anpassen, um Alarme, Motoren oder automatisierte Systeme zu aktivieren, wenn Regen erkannt wird.

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Regensensor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
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.

Überblick über Rain Sensor

Ein Regensensor ist ein elektronisches Modul, das Regen oder Schnee anhand der Feuchtigkeit auf einer Sensorfläche erkennt und misst. Er bietet zwei Ausgabemodi – digital für die einfache Erkennung und analog für die kontinuierliche Messung der Intensität – und eignet sich daher für viele wetterbezogene Projekte. Der Sensor arbeitet mit 3,3V bis 5V und ist damit vollständig mit dem ESP32 S3 kompatibel.

Wichtige Spezifikationen

  • Zwei Ausgabemodi: digital (Regen/kein Regen) und analog (Intensitätsstufe)
  • Einstellbare Empfindlichkeit über ein eingebautes Potentiometer
  • Erkennt sowohl Regen als auch Schnee
  • Betriebsspannung: 3,3V bis 5V
  • Schnelle Reaktionszeit für Erkennung in Echtzeit
  • Ideal für Wetterstationen und automatisierte Systeme

Zwei Hauptkomponenten:

  • Sensorfläche: Erkennungsfläche für den Außenbereich mit freiliegenden Kupferbahnen
  • Elektronikmodul: Signalprozessor mit analogen und digitalen Ausgängen
Regensensor Pinbelegung
image source: diyables.io

Die Sensorfläche

Die Sensorfläche ist für die Platzierung im Freien vorgesehen, wo sie Regen oder Schnee ausgesetzt ist.

So funktioniert es:

  • Enthält freiliegende Kupferbahnen, die in zwei Gruppen aufgeteilt sind
  • Versorgungsbahnen und Messbahnen bleiben im trockenen Zustand getrennt
  • Wasser oder Schnee überbrückt die Bahnen und schließt den Stromkreis
  • Jede Gruppe kann als Versorgungs- oder Messbahn dienen
  • Eine größere Fläche sorgt für eine genauere Erkennung

Das Elektronikmodul

Das Elektronikmodul verarbeitet die Signale der Sensorfläche und wandelt sie in ESP32 S3-kompatible Ausgänge um.

Pin-Konfiguration:

  • VCC-Pin: Anschluss für die Stromversorgung (3,3V bis 5V)
  • GND-Pin: Masseanschluss (0V)
  • DO-Pin: Digitaler Ausgang (HIGH bei Trockenheit, LOW bei Nässe)
  • AO-Pin: Analoger Ausgang (ändert sich mit der Feuchtigkeitsintensität)

LED-Anzeigen:

  • PWR-LED: Betriebsanzeige (leuchtet immer bei Stromversorgung)
  • DO-LED: Regenerkennungsanzeige (leuchtet, wenn Regen erkannt wird)

Einstellung der Empfindlichkeit:

  • Ein eingebautes Potentiometer stellt die digitale Schwelle ein
  • Im Uhrzeigersinn drehen, um die Empfindlichkeit zu erhöhen
  • Gegen den Uhrzeigersinn drehen, um die Empfindlichkeit zu verringern
  • Wirkt sich nur auf den DO-Pin aus, nicht auf die Messwerte des AO-Pins

Funktionsweise

Digitaler Ausgang (DO-Pin):

  • Das Potentiometer legt die Schwelle für die Regenerkennung fest
  • Wenn die Feuchtigkeit die Schwelle überschreitet: DO-Pin geht auf LOW, LED leuchtet
  • Wenn die Feuchtigkeit unter der Schwelle liegt: DO-Pin bleibt HIGH, LED ist aus
  • Ideal für einfache Projekte zur Erkennung von Regen/kein Regen

Analoger Ausgang (AO-Pin):

  • Liefert kontinuierliche Messwerte des Feuchtigkeitsniveaus
  • Mehr Wasser auf der Fläche = niedrigerer AO-Wert
  • Weniger Wasser auf der Fläche = höherer AO-Wert
  • Unabhängig von der Potentiometer-Einstellung
  • Am besten zur Messung der Regenintensität geeignet

Wichtiger Hinweis: Wenn Sie den Sensor über einen GPIO-Pin des ESP32 S3 versorgen (statt dauerhaft über 5V/3,3V), verlängert sich die Lebensdauer des Sensors deutlich, da die elektrochemische Korrosion zwischen den Messungen reduziert wird.

Verdrahtungsdiagramm

Das Regensensormodul bietet flexible Verdrahtungsmöglichkeiten, je nachdem, ob Sie eine digitale Erkennung, eine analoge Messung oder beides benötigen. Wenn VCC an einen GPIO-Pin statt an eine feste Versorgungsleitung angeschlossen wird, kann der ESP32 S3 den Sensor nur während der Messungen einschalten. Das reduziert die elektrochemische Korrosion an der Sensorfläche erheblich.

Sicherheitshinweise

Achten Sie immer darauf, dass die Sensorfläche im Freien platziert und der Witterung ausgesetzt ist, während das Elektronikmodul geschützt bleibt. Tauchen Sie das Modul nicht in Wasser, da nur die Sensorfläche für den Kontakt mit Feuchtigkeit ausgelegt ist. Eine GPIO-gesteuerte Stromversorgung (wie in der Verdrahtungstabelle unten gezeigt) wird dringend empfohlen, um die Lebensdauer des Sensors zu maximieren.

ESP32 S3 Regensensor Verdrahtungsplan

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

Regensensor-Pin ESP32 S3 Pin
VCC GPIO40
GND GND
DO GPIO2
AO GPIO5 (GPIO5 / ADC1_CH4)

ESP32 S3 Code - Wert vom DO-Pin lesen

Der folgende Code zeigt, wie Sie Regen über den digitalen Ausgang des Regensensors erkennen. Der Sensor wird nur während jedes Messzyklus mit Strom versorgt, um Korrosion zu minimieren. Anschließend wird der Zustand des DO-Pins gelesen und gemeldet, ob Regen vorhanden ist. Das Ergebnis wird im Seriellen Monitor in einem übersichtlichen Format mit Zeitstempel angezeigt.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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/esp32-s3/esp32-s3-rain-sensor */ #define POWER_PIN 40 // The ESP32 S3 pin that provides the power to the rain sensor #define DO_PIN 2 // The ESP32 S3 pin connected to DO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // initialize theArduino Nano ESP32 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

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Code übernehmen: Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE
  3. Board auswählen: Wählen Sie im Board-Menü den ESP32 S3 aus
  4. ESP32 S3 anschließen: Schließen Sie Ihren ESP32 S3 über ein USB-C-Kabel an
  5. Hochladen: Klicken Sie auf die Schaltfläche Upload, um den Code auf den ESP32 S3 zu übertragen
  6. Sensor testen: Tropfen Sie Wasser auf die Fläche des Regensensors
  7. Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein, um die Ergebnisse zu sehen
  8. Empfindlichkeit einstellen: Drehen Sie bei Bedarf am Potentiometer, um die Erkennung fein abzustimmen
  9. Profi-Tipp: Testen Sie die Empfindlichkeitseinstellung mit unterschiedlichen Wassermengen, um die perfekte Schwelle für Ihre Anwendung zu finden
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[June 16, 2026 10:23:45] The rain is NOT detected [June 16, 2026 10:23:46] The rain is NOT detected [June 16, 2026 10:23:47] The rain is NOT detected [June 16, 2026 10:23:48] The rain is detected [June 16, 2026 10:23:49] The rain is detected [June 16, 2026 10:23:50] The rain is detected [June 16, 2026 10:23:51] The rain is detected [June 16, 2026 10:23:52] The rain is detected [June 16, 2026 10:23:53] The rain is NOT detected [June 16, 2026 10:23:54] The rain is NOT detected
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Wenn die DO-LED unabhängig vom Vorhandensein von Wasser ständig an oder aus ist, drehen Sie das Potentiometer im oder gegen den Uhrzeigersinn, um die Empfindlichkeitsschwelle für Ihre Umgebung zu kalibrieren.

ESP32 S3 Code - Wert vom AO-Pin lesen

Der folgende Code zeigt, wie Sie die Regenintensität über den analogen Ausgang des Regensensors messen. Der ESP32 S3 versorgt den Sensor nur während jeder Messung über GPIO40, liest die analoge Spannung am AO-Pin und gibt einen numerischen Feuchtigkeitswert im Seriellen Monitor aus. Niedrigere Werte bedeuten stärkeren Regen, höhere Werte trockenere Bedingungen.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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/esp32-s3/esp32-s3-rain-sensor */ #define POWER_PIN 40 // The ESP32 S3 pin that provides the power to the rain sensor #define AO_PIN 5 // The ESP32 S3 pin connected to AO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); 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 rain_value = analogRead(AO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF Serial.println(rain_value); // print out the analog value delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Code übernehmen: Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE
  3. Board auswählen: Wählen Sie im Board-Menü den ESP32 S3 aus
  4. ESP32 S3 anschließen: Schließen Sie Ihren ESP32 S3 über ein USB-C-Kabel an
  5. Hochladen: Klicken Sie auf die Schaltfläche Upload, um den Code auf den ESP32 S3 zu übertragen
  6. Mit Wasser testen: Geben Sie nach und nach Wassertropfen auf die Sensorfläche
  7. Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein, um die analogen Messwerte zu sehen
  8. Änderungen beobachten: Beobachten Sie, wie die Werte mit zunehmender Feuchtigkeit sinken
  9. Profi-Tipp: Notieren Sie die Werte Ihres Sensors im trockenen und nassen Zustand, um eigene Bereiche für die Regenintensität festzulegen (leichter Regen, mäßiger Regen, starker Regen)
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[June 16, 2026 10:45:12] Analog Value: 3845 [June 16, 2026 10:45:13] Analog Value: 3821 [June 16, 2026 10:45:14] Analog Value: 2456 [June 16, 2026 10:45:15] Analog Value: 1687 [June 16, 2026 10:45:16] Analog Value: 1023 [June 16, 2026 10:45:17] Analog Value: 978 [June 16, 2026 10:45:18] Analog Value: 965 [June 16, 2026 10:45:19] Analog Value: 1134 [June 16, 2026 10:45:20] Analog Value: 2187 [June 16, 2026 10:45:21] Analog Value: 3512
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

※ Notiz:

Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der mit einem Sensor oder einer Komponente verbunden ist. Der ADC des ESP32 S3 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Für Projekte, die präzise Messungen benötigen, sollten Sie jedoch Folgendes beachten:

  • Der ADC des ESP32 S3 ist nicht perfekt genau und muss für korrekte Ergebnisse eventuell kalibriert werden. Jedes ESP32 S3 Board kann leicht abweichen, daher ist eine Kalibrierung für jedes einzelne Board notwendig.
  • Die Kalibrierung kann besonders für Einsteiger schwierig sein und liefert nicht immer genau die gewünschten Ergebnisse.

Für Projekte mit hohen Präzisionsanforderungen sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 S3 verwenden oder einen anderen Arduino wie den Arduino Uno R4 WiFi einsetzen, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des ESP32 S3 dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.

Anwendungs- und Projektideen

Das eingebaute WLAN und die Rechenleistung des ESP32 S3 machen ihn zu einer hervorragenden Plattform für Regensensor-Anwendungen, die über die einfache Erkennung hinausgehen. Hier sind praktische Einsatzmöglichkeiten für Ihren Regensensor:

  1. Smart-Home-Automatisierung: Schließen Sie Fenster und Dachfenster automatisch, wenn Regen erkannt wird
  2. Gartenbewässerungssystem: Deaktivieren Sie automatische Rasensprenger bei Regen, um Wasser zu sparen
  3. Wetterstation: Bauen Sie ein komplettes Wetterüberwachungssystem mit Protokollierung der Niederschlagsdaten
  4. Auto-Warnsystem: Lassen Sie sich per Smartphone benachrichtigen, wenn es zu regnen beginnt und die Autofenster offen sind
  5. Wäschetrocknungs-Monitor: Werden Sie benachrichtigt, wenn die Wäsche draußen hereingeholt werden muss
  6. Gewächshaus-Steuerung: Passen Sie Belüftung und Bewässerung anhand der Regenerkennung an
  7. Intelligente Regenschirm-Erinnerung: Senden Sie Erinnerungen, einen Regenschirm mitzunehmen, wenn Regen erkannt wird

Video-Tutorial

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.

Fordern Sie sich heraus

Diese Aufgaben helfen Ihnen, das Gelernte anzuwenden und Ihre Fähigkeiten mit dem ESP32 S3 Regensensor weiter auszubauen – von einfachen LED-Anzeigen bis hin zu kompletten Vorhersagesystemen mit maschinellem Lernen.

  1. Anfänger: Fügen Sie eine LED hinzu, die über den digitalen Ausgang leuchtet, wenn Regen erkannt wird
  2. Anfänger: Erstellen Sie mithilfe analoger Schwellenwerte unterschiedliche Warnmeldungen für leichten und starken Regen
  3. Fortgeschritten: Protokollieren Sie Niederschlagsdaten mit Zeitstempeln auf einer SD-Karte für eine langfristige Wetteraufzeichnung
  4. Fortgeschritten: Senden Sie über die WLAN-Verbindung E-Mails oder Push-Benachrichtigungen, wenn Regen erkannt wird
  5. Experte: Bauen Sie eine komplette Wetterstation, die den Regensensor mit Temperatur- und Feuchtigkeitssensoren kombiniert
  6. Experte: Erstellen Sie ein Vorhersagesystem, das Niederschlagsmuster erfasst und mithilfe von maschinellem Lernen Prognosen erstellt

※ 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!