ESP32 – Pumpe für Bodenfeuchtigkeitssensor

In diesem Tutorial lernen wir, wie man den ESP32 verwendet, um die Pumpe entsprechend dem vom kapazitiven Bodenfeuchtesensor gelesenen Wert zu steuern.

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
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×Kapazitiver Bodenfeuchtigkeitssensor
1×Relais
1×12V Pumpe
1×Vinyl Tube
1×12V Netzteil
1×(Optional) DC-Stromanschluss
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

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

Kaufhinweis: Viele kapazitive Bodenfeuchtigkeitssensoren auf dem Markt sind von geringer Qualität, unabhängig von der Version. Wir empfehlen dringend den Kauf des Sensors mit TLC555I-Chip von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.

Über den Bodenfeuchtesensor und die Pumpe

Wenn Sie nichts über Pumpe und Bodenfeuchtesensor (Pinbelegung, wie sie funktionieren, wie man sie programmiert ...) wissen, lernen Sie in den folgenden Tutorials mehr über sie:

Wie es funktioniert

Der ESP32 liest periodisch den Wert des kapazitiven Bodenfeuchtigkeitssensors aus. Je nach Bodenfeuchtigkeitswert werden die folgenden Maßnahmen ergriffen:

  • Wenn der Bodenfeuchtigkeitswert unter einem Schwellenwert liegt, aktiviert der ESP32 automatisch ein Relais, um eine Pumpe einzuschalten.
  • Andernfalls deaktiviert der ESP32 automatisch ein Relais, um eine Pumpe auszuschalten.

Verdrahtungsdiagramm

ESP32 Bodenfeuchtesensor Pumpenschaltplan

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

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

ESP32-Code

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32-soil-moisture-sensor-pump */ #define RELAY_PIN 17 // ESP32 pin GPIO17 that connects to relay #define MOISTURE_PIN 36 // ESP32 pin GPIO36 (ADC0) that connects to AOUT pin of moisture sensor #define THRESHOLD 1500 // => CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); pinMode(RELAY_PIN, OUTPUT); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int value = analogRead(MOISTURE_PIN); // read the analog value from soild moisture sensor if (value > THRESHOLD) { Serial.print("The soil moisture is DRY => activate pump"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil moisture is WET => deactivate the pump"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(1000); }

Schnelle Schritte

COM6
Send
The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code-Erklärung

Lies die Zeile-für-Zeile-Erklärung in den Kommentarzeilen des Quellcodes!

※ Notiz:

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

  • Der ESP32-ADC ist nicht perfekt genau und könnte eine Kalibrierung für korrekte Ergebnisse benötigen. Jedes ESP32-Board kann etwas unterschiedlich sein, daher müssen Sie den ADC für jedes einzelne Board kalibrieren.
  • Die Kalibrierung kann schwierig sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer genau die gewünschten Ergebnisse.

Für Projekte, die eine hohe Präzision benötigen, erwägen Sie die Verwendung eines externen ADCs (z. B. ADS1115) mit dem ESP32 oder die Verwendung eines Arduino, das einen zuverlässigeren ADC besitzt. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, lesen Sie ESP32 ADC Calibration Driver

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!