ESP32 - automatisches Bewässerungssystem

Dieses Tutorial zeigt Ihnen, wie Sie ein automatisches Bewässerungssystem für den Garten mit einem ESP32, einem Bodenfeuchtesensor, einem Relais und einer Pumpe bauen. Im Detail:

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 Bodenfeuchtigkeitssensor und die Pumpe

Wir haben spezifische Tutorials zu Bodenfeuchtesensoren und Pumpen. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Hardware-Pinbelegung, zum Funktionsprinzip, zur Verdrahtung mit dem ESP32 und zum ESP32-Code... Erfahren Sie mehr darüber in den folgenden Links:

Verdrahtungsdiagramm

ESP32-Bewässerungssystem-Schaltplan

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-automatic-irrigation-system */ #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 sensor if (value > THRESHOLD) { Serial.print("The soil is DRY => turn pump ON"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil is WET => turn pump OFF"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(200); }

Schnelle Schritte

  • Führe eine Kalibrierung durch, um den Nass-Trocken-Schwellenwert zu bestimmen, siehe ESP32 - Kalibriert Bodenfeuchtigkeitssensor
  • Aktualisiere den kalibrierten Schwellenwert im Code
  • Öffne den seriellen Monitor in der Arduino-IDE
  • Lade den Code auf das ESP32-Board hoch
  • Sieh dir das Ergebnis im seriellen Monitor an. Es sieht wie folgt aus:
COM6
Send
The soil is DRY => turn pump ON (1921) The soil is DRY => turn pump ON (1821) The soil is DRY => turn pump ON (1741) The soil is DRY => turn pump ON (1645) The soil is DRY => turn pump ON (1564) The soil is WET => turn pump OFF (1465) The soil is WET => turn pump OFF (1411) The soil is WET => turn pump OFF (1365) The soil is WET => turn pump OFF (1375) The soil is WET => turn pump OFF (1279)
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code-Erklärung

Lies die zeilenweise Erklärung in den Kommentarzeilen des Quellcodes!

※ Notiz:

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

  • Der ESP32-ADC ist nicht vollkommen 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, besonders für Anfänger, und liefert möglicherweise nicht immer die genauen Ergebnisse, die Sie wünschen.

Für Projekte, die eine hohe Genauigkeit benötigen, erwägen Sie den Einsatz eines externen ADC (z. B. ADS1115) mit dem ESP32 oder die Verwendung eines Arduino-Boards, das über einen zuverlässigeren ADC verfügt. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, beachten Sie den 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!