ESP32 C3 Super Mini - Wassersensor

Erfahren Sie in diesem einsteigerfreundlichen Arduino-Tutorial, wie Sie einen Wasserstandssensor an Ihren ESP32 C3 Super Mini anschließen, um Wasserlecks, Niederschlag und Tanküberlauf zu erkennen und den Wasserstand zu messen.

In diesem Tutorial lernen Sie:

ESP32 C3 Super Mini - Wassersensor

Erforderliche Hardware

1×ESP32 C3 Super Mini
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×Water level sensor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss

Oder Sie können die folgenden Kits kaufen:

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 Water Level Sensor

Ein Wasserstandssensor ist ein analoger Sensor, der das Vorhandensein und die Tiefe von Wasser erkennt, indem er den Widerstand zwischen freiliegenden Leiterbahnen misst.

Hauptmerkmale:

  • Gibt eine analoge Spannung proportional zur Wassertiefe aus
  • Funktioniert mit 3,3V oder 5V Stromversorgung
  • Einfache analoge Schnittstelle zur leichten Einbindung in den ESP32
  • Kostengünstige Lösung für Projekte zur Wassererkennung
  • Ideal für Einsteiger, die den Anschluss analoger Sensoren lernen

Warum Sie ihn verwenden sollten:

  • Perfekt für Leckerkennungssysteme
  • Ideal, um das Auslesen analoger Eingänge am ESP32 zu lernen
  • Ermöglicht Anwendungen zur Niederschlagsüberwachung
  • Geeignet für Projekte zur Vermeidung von Tanküberlauf

Pinbelegung des Wasserstandssensors

Der Wasserstandssensor hat drei Pins für den einfachen Anschluss an Ihren ESP32 C3 Super Mini:

  • S-Pin (Signal): Gibt eine analoge Spannung proportional zum Wasserstand aus - mit einem analogen Eingangspin des ESP32 verbinden
  • + Pin (VCC): Stromversorgungspin - mit 3,3V oder 5V verbinden
  • - Pin (GND): Massepin - mit GND verbinden
Pinbelegung des Wassersensors

Funktionsweise des Wasserstandssensors

Der Wassersensor arbeitet nach dem einfachen Prinzip der elektrischen Leitfähigkeit:

  • Je mehr Wasser die freiliegenden Leiterbahnen bedeckt, desto höher ist die Ausgangsspannung
  • Ein trockener Sensor liefert eine Ausgangsspannung nahe null
  • Vollständig eingetauchte Leiterbahnen liefern die maximale Spannung
  • Der ESP32 liest diese analoge Spannung aus, um den Wasserstand zu bestimmen

Verdrahtungsdiagramm

So schließen Sie Ihren Wassersensor an den ESP32 C3 Super Mini an, um optimale Leistung und eine lange Lebensdauer zu erreichen.

Wichtiges zur Stromversorgung:

  • Hinweis: Eine dauerhafte Stromversorgung des Sensors führt in feuchter Umgebung zu elektrochemischer Korrosion
  • Hinweis: Verbinden Sie VCC mit einem digitalen Pin statt mit 3,3V, um die Stromversorgung zu steuern
  • Hinweis: Schalten Sie die Versorgung nur zum Messen EIN und danach AUS, um die Lebensdauer des Sensors zu verlängern
  • Hinweis: Nur die freiliegenden Leiterbahnen sollten Wasser berühren - tauchen Sie den Sensor niemals vollständig ein
Wassersensor Pin ESP32 C3 Super Mini Pin
S (Signal) GPIO2 (Analoger Eingang)
+ (VCC) GPIO3 (Digitaler Ausgang zur Stromsteuerung)
* (GND) GND
Schaltplan ESP32 C3 Super Mini Wassersensor

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

ESP32 C3 Super Mini Code - Werte vom Wassersensor auslesen

Dieser Arduino-Sketch liest mit dem ESP32 C3 Super Mini analoge Werte vom Wassersensor aus.

Was der Code macht:

  • Schaltet den Sensor nur während der Messung EIN
  • Liest die analoge Spannung vom Sensor aus
  • Wandelt den analogen Messwert in einen Zahlenwert um
  • Zeigt die Wasserstandswerte im Seriellen Monitor an
  • Schaltet den Sensor nach der Messung AUS, um Korrosion zu vermeiden
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-water-sensor */ #define POWER_PIN 4 // The ESP32 C3 SuperMini pin 4 connected to sensor's VCC pin #define SIGNAL_PIN A0 // The ESP32 C3 SuperMini pin A0 connected to sensor's signal pin int value = 0; // variable to store the sensor value void setup() { Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(POWER_PIN, OUTPUT); // Configure pin as an OUTPUT digitalWrite(POWER_PIN, LOW); // turn the sensor OFF } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the sensor ON delay(10); // wait 10 milliseconds value = analogRead(SIGNAL_PIN); // read the analog value from sensor digitalWrite(POWER_PIN, LOW); // turn the sensor OFF Serial.print("The water sensor value: "); Serial.println(value); delay(1000); }

Schnelle Schritte

  • Neu beim ESP32 C3 Mini? Absolvieren Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Mini, um Ihre Entwicklungsumgebung einzurichten.
  • Code übernehmen: Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein
  • Kompilieren und hochladen: Klicken Sie auf die Schaltfläche Upload, um Ihren ESP32 C3 Super Mini zu programmieren
  • Test vorbereiten: Nehmen Sie ein Glas Wasser, um den Sensor zu testen
  • Sensor testen: Tauchen Sie den Sensor langsam ins Wasser, beginnend mit den unteren Leiterbahnen
  • Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein, um die Messwerte zu sehen
  • Werte beobachten: Beobachten Sie, wie die Werte steigen, je mehr Leiterbahnen mit Wasser in Kontakt kommen
  • Profi-Tipp: Halten Sie die Elektronik auf der Sensorplatine über Wasser - tauchen Sie nur die freiliegenden Messleiterbahnen ein
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
The water sensor value: 0 The water sensor value: 0 The water sensor value: 0 The water sensor value: 25 The water sensor value: 196 The water sensor value: 587 The water sensor value: 625 The water sensor value: 1434 The water sensor value: 1449 The water sensor value: 1454 The water sensor value: 1469 The water sensor value: 2525 The water sensor value: 2526 The water sensor value: 2558
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

※ Notiz:

Der Wassersensor ist nicht dafür ausgelegt, vollständig eingetaucht zu werden, nur die freiliegenden Leiterbahnen auf der Platine dürfen ins Wasser eintauchen. Bitte achten Sie bei der Montage darauf.

Wie man Wasserlecks erkennt

Die Erkennung von Wasserlecks erfolgt durch den Vergleich des Sensorwerts mit einem Schwellenwert, der bei der Kalibrierung ermittelt wurde.

Anwendungen der Erkennung:

  • Erkennung von Wasserlecks in Kellern oder an Haushaltsgeräten
  • Niederschlagsüberwachung für Wetterstationen
  • Systeme zur Vermeidung von Tanküberlauf
  • Hochwasser-Warnsysteme

Erstellen wir ein praktisches Beispiel, bei dem der ESP32 C3 Super Mini eine LED einschaltet, wenn ein Wasserleck erkannt wird.

Schaltplan

Bauteil ESP32 C3 Super Mini Pin
Wassersensor S GPIO2 (Analoger Eingang)
Wassersensor + GPIO3 (Digitaler Ausgang)
Wassersensor - GND
LED-Anode (+) GPIO8 (über einen 220Ω-Widerstand)
LED-Kathode (-) GND
Schaltplan ESP32 C3 Super Mini Wassersensor mit LED

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

ESP32 C3 Super Mini Code - Wasserlecks erkennen

Dieser Code zeigt die Erkennung von Wasserlecks mit einer visuellen Anzeige über eine LED.

Was der Code macht:

  • Überwacht fortlaufend die Messwerte des Wassersensors
  • Vergleicht die Messwerte mit einem Schwellenwert
  • Schaltet die LED EIN, wenn Wasser erkannt wird
  • Schaltet die LED AUS, wenn kein Wasser vorhanden ist
  • Zeigt den Leckstatus im Seriellen Monitor an
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-water-sensor */ #define LED_PIN 9 // The ESP32 C3 SuperMini pin 9 connected to LED pin #define POWER_PIN 4 // The ESP32 C3 SuperMini pin 4 connected to sensor's VCC pin #define SIGNAL_PIN A0 // The ESP32 C3 SuperMini pin A0 connected to sensor's signal pin #define THRESHOLD 1000 int value = 0; // variable to store the sensor value void setup() { Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(LED_PIN, OUTPUT); // Configure pin as an OUTPUT pinMode(POWER_PIN, OUTPUT); // Configure pin as an OUTPUT digitalWrite(POWER_PIN, LOW); // turn the sensor OFF digitalWrite(LED_PIN, LOW); // turn LED OFF } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the sensor ON delay(10); // wait 10 milliseconds value = analogRead(SIGNAL_PIN); // read the analog value from sensor digitalWrite(POWER_PIN, LOW); // turn the sensor OFF if (value > THRESHOLD) { Serial.print("The water is detected"); digitalWrite(LED_PIN, HIGH); // turn LED ON } else { digitalWrite(LED_PIN, LOW); // turn LED OFF } }

Wie man den Wasserstand misst

Dieses fortgeschrittene Beispiel teilt die Wassertiefe für präzise Überwachungsanwendungen in vier verschiedene Stufen ein.

Wasserstandskategorien:

  • Leer: Kein Wasser erkannt
  • Niedrig: Minimaler Wasserstand
  • Mittel: Mäßiger Wasserstand
  • Hoch: Maximaler sicherer Wasserstand
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-water-sensor */ #define LED_PIN 9 // The ESP32 C3 SuperMini pin 9 connected to LED pin #define POWER_PIN 4 // The ESP32 C3 SuperMini pin 4 connected to sensor's VCC pin #define SIGNAL_PIN A0 // The ESP32 C3 SuperMini pin A0 connected to sensor's signal pin #define THRESHOLD 1000 int value = 0; // variable to store the sensor value void setup() { Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(LED_PIN, OUTPUT); // Configure pin as an OUTPUT pinMode(POWER_PIN, OUTPUT); // Configure pin as an OUTPUT digitalWrite(POWER_PIN, LOW); // turn the sensor OFF digitalWrite(LED_PIN, LOW); // turn LED OFF } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the sensor ON delay(10); // wait 10 milliseconds value = analogRead(SIGNAL_PIN); // read the analog value from sensor digitalWrite(POWER_PIN, LOW); // turn the sensor OFF if (value > THRESHOLD) { Serial.print("The water is detected"); digitalWrite(LED_PIN, HIGH); // turn LED ON } else { digitalWrite(LED_PIN, LOW); // turn LED OFF } }

※ Notiz:

  • SENSOR_MIN und SENSOR_MAX werden durch den Kalibrierungsprozess bestimmt.
  • Die obige Zuordnungsmethode ist nicht genau. Für viele Anwendungen ist sie jedoch ausreichend.

Kalibrierung des Wasserstandssensors

Eine korrekte Kalibrierung sorgt für genaue Wasserstandswerte für Ihren speziellen Sensor und Behälteraufbau.

Kalibrierungsablauf:

  • Minimalwert bestimmen (trockener Sensor)
  • Maximalwert bestimmen (vollständig eingetauchte Leiterbahnen)
  • Diese Werte auf Ihre Wasserstandsskala abbilden
  • Schwellenwerte testen und anpassen

Siehe wie man den Wasserstandssensor kalibriert

※ Notiz:

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

  • Der ADC des ESP32 C3 Super Mini ist nicht perfekt genau und benötigt möglicherweise eine Kalibrierung für korrekte Ergebnisse. Jedes ESP32 C3 Super Mini Board kann leicht abweichen, daher ist eine Kalibrierung für jedes einzelne Board erforderlich.
  • Die Kalibrierung kann besonders für Einsteiger schwierig sein und liefert nicht immer genau die gewünschten Ergebnisse.

Für Projekte, die hohe Präzision erfordern, sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 C3 Super Mini verwenden oder einen anderen Arduino einsetzen, z. B. den Arduino Uno R4 WiFi, der einen zuverlässigeren ADC hat. Wenn Sie den ADC des ESP32 C3 Super Mini dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.

Anwendungsideen

Hier sind praktische Projekte, die Sie mit dem ESP32 C3 Super Mini und einem Wasserstandssensor bauen können:

  • Hochwassererkennung im Keller mit Benachrichtigungen auf das Smartphone
  • Automatisches Pflanzenbewässerungssystem mit Bodenfeuchtigkeitsüberwachung
  • Wasserstandsüberwachung und automatische Nachfüllsteuerung für Aquarien
  • Regenmesser für selbstgebaute Wetterstationsprojekte
  • Überlaufschutz für die Tropfschale einer Kaffeemaschine
  • Überwachung einer Tauchpumpe mit Alarm bei Ausfall

Video-Tutorial

Sehen Sie sich das folgende Video für eine visuelle Schritt-für-Schritt-Anleitung zu diesem Projekt an.

Fordern Sie sich heraus

Bereit, Ihr ESP32 Wassersensor-Projekt auf die nächste Stufe zu bringen? Probieren Sie diese Aufgaben aus:

  • Einfach: Fügen Sie einen Summer hinzu, der piept, wenn Wasser erkannt wird
  • Einfach: Zeigen Sie den Wasserstand in Prozent statt als Rohwerte im Seriellen Monitor an
  • Mittel: Erstellen Sie einen WLAN-fähigen Leckdetektor, der E-Mail-Benachrichtigungen sendet
  • Mittel: Bauen Sie ein System mit mehreren Sensoren, das mehrere Orte gleichzeitig überwacht
  • Fortgeschritten: Entwerfen Sie ein automatisches Befüllsystem für einen Wassertank mit Sensoren für den oberen und unteren Füllstand
  • Fortgeschritten: Erstellen Sie ein Datenlogging-System, das den Wasserstand über die Zeit aufzeichnet und Diagramme anzeigt

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