Arduino Nano ESP32 - Bodenfeuchtigkeitssensor-Pumpe

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

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×(Optional) DC-Stromanschluss
1×Breadboard
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 nichts über Pumpen und Bodenfeuchtigkeitssensoren wissen (Pinout, Anschlussbelegung, wie sie funktionieren, wie man sie programmiert ...), lernen Sie in den folgenden Tutorials mehr darüber:

Wie es funktioniert

Arduino Nano ESP32 liest regelmäßig den Wert des kapazitiven Bodenfeuchtesensors aus. Basierend auf dem Bodenfeuchtwert werden folgende Maßnahmen ergriffen:

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

Verdrahtungsdiagramm

Arduino Nano ESP32 Bodenfeuchtigkeitssensor Pumpenverdrahtungsdiagramm

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-soil-moisture-sensor-pump */ #define RELAY_PIN D2 // The Arduino Nano ESP32 pin that connects to relay #define SENSOR_PIN A2 // The Arduino Nano ESP32 pin that connects to AOUT pin of 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(SENSOR_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-zu-Digital-Wandler) auszulesen, 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 eine präzise Messung erfordern, beachten Sie Folgendes:

  • Der ADC des Arduino Nano ESP32 ist nicht exakt und muss möglicherweise kalibriert werden, um korrekte Ergebnisse zu erhalten. Jedes Arduino Nano ESP32-Board kann sich leicht unterscheiden, daher ist für jedes einzelne Board eine Kalibrierung notwendig.
  • Die Kalibrierung kann anspruchsvoll sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer exakt die gewünschten Ergebnisse.

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