Arduino Nano ESP32 - Automatisches Bewässerungssystem

Dieses Tutorial zeigt Ihnen, wie Sie ein Arduino Nano ESP32, einen Bodenfeuchtigkeitssensor, ein Relais und eine Pumpe verwenden, um ein automatisches Bewässerungssystem für den Garten zu erstellen. Genauer gesagt:

Erforderliche Hardware

1×Arduino Nano ESP32
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×DC-Stromanschluss
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

Oder Sie können die folgenden Kits kaufen:

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

Wenn Sie mit Pumpe und Bodenfeuchtigkeitssensor nicht vertraut sind (einschließlich Pinbelegung, Funktionsweise, Programmierung usw.), werden Ihnen die folgenden Tutorials hilfreich sein:

Verdrahtungsdiagramm

Arduino Nano ESP32 Bodenfeuchtigkeitssensor Pumpenschaltplan

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

Arduino Nano ESP32-Code

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-automatic-irrigation-system */ #define RELAY_PIN D2 // The Arduino Nano ESP32 pin connected to the relay #define MOISTURE_PIN A2 // The Arduino Nano ESP32 pin connected to the moisture sensor #define THRESHOLD 1500 // CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(RELAY_PIN, OUTPUT); } 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

  • Wenn Sie neu beim Arduino Nano ESP32 sind, lesen Sie wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verdrahten Sie die Bauteile wie im Diagramm gezeigt.
  • Schließen Sie das Arduino Nano ESP32-Board mit einem USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32 Board und den jeweiligen COM-Port.
  • Führen Sie eine Kalibrierung durch, um den Nass-Trocken-Schwellenwert zu identifizieren, wie in Arduino Nano ESP32 - Kalibriert Bodenfeuchtigkeitssensor beschrieben.
  • Fügen Sie den kalibrierten Schwellenwert in den Code ein.
  • Öffnen Sie den Seriellen Monitor in der Arduino IDE.
  • Laden Sie den Code auf das Arduino Nano ESP32 hoch.
  • Sehen Sie das Ergebnis im seriellen Monitor.
COM6
Send
The soil is DRY => turn pump ON (1927) The soil is DRY => turn pump ON (1824) The soil is DRY => turn pump ON (1749) The soil is DRY => turn pump ON (1648) The soil is DRY => turn pump ON (1565) The soil is WET => turn pump OFF (1466) The soil is WET => turn pump OFF (1417) The soil is WET => turn pump OFF (1366) The soil is WET => turn pump OFF (1373) The soil is WET => turn pump OFF (1271)
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code-Erklärung

Schau dir die zeilenweise Erklärung an, die in den Kommentaren des Quellcodes enthalten ist!

※ Notiz:

Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem A/D-Wandler (Analog-zu-Digital-Wandler) zu lesen, der an einen Sensor oder ein Bauteil angeschlossen ist. Der ADC des Arduino Nano ESP32 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Für Projekte, die jedoch präzise Messungen benötigen, beachten Sie Folgendes:

  • Der ADC des Arduino Nano ESP32 ist nicht ganz exakt und könnte eine Kalibrierung für korrekte Ergebnisse erfordern. Jedes Arduino Nano ESP32-Board kann sich geringfügig unterscheiden, daher ist eine Kalibrierung für jedes einzelne Board notwendig.
  • Die Kalibrierung kann herausfordernd sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer die gewünschten genauen Ergebnisse.

Für Projekte, die eine hohe Präzision erfordern, sollten Sie in Erwägung ziehen, einen externen ADC (z. B. ADS1115) mit dem Arduino Nano ESP32 zu verwenden oder einen anderen Arduino zu nutzen, wie z. B. den Arduino Uno R4 WiFi, der über einen zuverlässigeren ADC verfügt. Wenn Sie den ADC des Arduino Nano ESP32 dennoch kalibrieren möchten, lesen Sie die 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!