Arduino UNO R4 – Bodenfeuchtigkeitssensor

In diesem Tutorial werden wir lernen, wie man einen Feuchtigkeitssensor mit dem Arduino UNO R4 verwendet. Genauer gesagt werden wir Folgendes behandeln:

Arduino UNO R4 Bodenfeuchtigkeitssensor

Erforderliche Hardware

1×Arduino UNO R4 WiFi or Arduino UNO R4 Minima
1×Alternativ: DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi
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×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno R4
1×(Empfohlen) Breadboard-Shield für Arduino Uno R4
1×(Empfohlen) Gehäuse für Arduino Uno R4
1×(Empfohlen) Stromverteiler für Arduino Uno R4
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V4 IoT Starter-Kit (Arduino 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 Bodenfeuchtigkeitssensor Sensor

kapazitiver Feuchtigkeitssensor vs. resistiver Feuchtigkeitssensor

Es gibt zwei Arten von Feuchtigkeitssensoren:

  • Kapazitiver Feuchtigkeitssensor
  • Resistiver Feuchtigkeitssensor

Beide Sensoren liefern Informationen über die Bodenfeuchtigkeit, arbeiten jedoch auf unterschiedliche Weise. Aus diesem Grund empfehlen wir dringend die Verwendung des kapazitiven Feuchtigkeitssensors:

  • Der Widerstandssensor für Bodenfeuchtigkeit wird allmählich beschädigt. Dies geschieht, weil zwischen seinen Elektroden ein elektrischer Strom fließt, der zu einer Art Schaden führt, der als elektrochemische Korrosion bezeichnet wird.
  • Der kapazitive Bodenfeuchtigkeitssensor wird im Laufe der Zeit nicht beschädigt. Der Grund dafür ist, dass seine Elektroden bedeckt sind und nicht leicht korrodieren.

Das unten gezeigte Bild zeigt einen Bodenfeuchtigkeitssensor aus einem resistiven Material, der im Laufe der Zeit korrodiert ist.

Der widerstandsbasierte Bodenfeuchtigkeitssensor ist korrodiert.

Der verbleibende Teil dieses Tutorials wird sich darauf konzentrieren, den kapazitiven Bodenfeuchtigkeitssensor zu verwenden.

Pinbelegung des kapazitiven Bodenfeuchtigkeitssensors

Ein kapazitiver Bodenfeuchtesensor kommt mit drei Anschlüssen:

  • GND-Pin: mit GND (0 V) verbinden
  • VCC-Pin: mit VCC (5 V oder 3,3 V) verbinden
  • AOUT-Pin: sendet ein analoges Signal, das sich mit der Bodenfeuchtigkeit ändert. Mit dem analogen Eingangspin eines Arduino UNO R4 verbinden.
Pinbelegung eines kapazitiven Bodenfeuchtigkeitssensors

Wie es funktioniert

Je höher der Wassergehalt im Boden ist, desto niedriger ist die Spannung am AOUT-Pin.

Verdrahtungsdiagramm

Arduino UNO R4 Bodenfeuchtigkeitsensor Verdrahtungsdiagramm

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

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Arduino UNO R4 Code

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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-uno-r4/arduino-uno-r4-soil-moisture-sensor */ #define AOUT_PIN A0 // Definiert Pin A0 zum Auslesen des Feuchtigkeitssensors void setup() { Serial.begin(9600); // Initialisiert die serielle Kommunikation mit 9600 Baud } void loop() { int value = analogRead(AOUT_PIN); // Liest den Feuchtigkeitswert aus dem Sensor aus Serial.print("Moisture: "); // Sendet den Text 'Moisture: ' an den seriellen Monitor Serial.println(value); // Gibt den Feuchtigkeitswert auf dem seriellen Monitor aus delay(500); // Pausiert die Schleife für 500 Millisekunden }

Schnelle Schritte

Folgen Sie diesen Anweisungen Schritt für Schritt:

  • Falls dies das erste Mal ist, dass Sie den Arduino Uno R4 WiFi/Minima verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE (BASE_URL/tutorials/arduino-uno-r4/arduino-uno-r4-software-installation).
  • Schließen Sie den Bodenfeuchtesensor gemäß dem bereitgestellten Diagramm an den Arduino Uno R4 an.
  • Schließen Sie das Arduino Uno R4-Board mit einem USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino UNO R4 hochzuladen.
  • Legen Sie den Sensor in den Boden, und gießen Sie dann Wasser in den Boden. Alternativ können Sie ihn auch vorsichtig in eine Tasse Salzwasser legen.
  • Überprüfen Sie die Ergebnisse im Serial Monitor. Sie werden wie folgt angezeigt:
COM6
Send
Moisture: 581 Moisture: 581 Moisture: 575 Moisture: 566 Moisture: 556 Moisture: 547 Moisture: 539 Moisture: 530 Moisture: 521 Moisture: 513 Moisture: 506 Moisture: 500 Moisture: 495 Moisture: 492 Moisture: 490 Moisture: 489 Moisture: 488
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

  • Verwenden Sie kein reines Wasser zum Testen, da es keinen Strom leitet und daher die Messwerte des Sensors nicht beeinflusst.
  • Normalerweise fallen die Messwerte des Sensors nicht auf Null. Sie liegen gewöhnlich zwischen 500 und 600. Dies kann jedoch variieren, abhängig davon, wie tief der Sensor im Boden oder Wasser steckt, von der Art des Bodens oder des Wassers und von der Versorgungsspannung.
  • Setzen Sie den Schaltkreis-Teil des Sensors (oben) nicht in Boden oder Wasser ein, da dies den Sensor beschädigen kann.

Kalibrierung für kapazitiven Bodenfeuchtigkeitssensor

Der Messwert des Feuchtigkeitssensors ist nicht festgelegt; er variiert je nach Bodentyp und dem Wassergehalt des Bodens. Um ihn korrekt zu verwenden, müssen wir ihn kalibrieren, um einen Schwellenwert zu finden, der uns anzeigt, wann der Boden nass oder trocken ist.

So führen Sie eine Kalibrierung durch:

  • Verwende den Arduino UNO R4, um den bereitgestellten Code auszuführen.
  • Setze den Feuchtungssensor in den Boden ein.
  • Füge dem Boden nach und nach Wasser hinzu.
  • Beobachte den Serial Monitor.
  • Notiere den Wert, wenn du glaubst, dass der Boden sich von trocken zu nass verändert hat. Dieser Wert wird als Schwellenwert bezeichnet.

Bestimmen Sie, ob der Boden nass oder trocken ist

Nachdem Sie kalibriert haben, ändern Sie den von Ihnen notierten THRESHOLD-Wert auf den folgenden Code. Dieser Code prüft, ob der Boden nass oder trocken ist.

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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-uno-r4/arduino-uno-r4-soil-moisture-sensor */ #define AOUT_PIN A0 // Pin am Arduino für den Feuchtigkeitssensor-Ausgang #define THRESHOLD 530 // Schwellenwert für den Feuchtigkeitswert festlegen void setup() { Serial.begin(9600); // Initialisiere serielle Kommunikation bei 9600 Baud } void loop() { int value = analog_read(AOUT_PIN); // Lese Wert vom Feuchtigkeitssensor if (value > THRESHOLD) // Vergleiche den Sensorwert mit dem Schwellenwert Serial.print("The soil is DRY ("); // Gib Trockenzustand aus, falls der Wert den Schwellenwert überschreitet else Serial.print("The soil is WET ("); // Gib Nässe-Status aus, falls unterhalb des Schwellenwerts Serial.print(value); // Gib den Sensorwert aus Serial.println(")"); // Beende die Zeile delay(500); // Warte eine halbe Sekunde bis zur nächsten Abtastung }

Das Ergebnis, wie es im Serial Monitor zu sehen ist.

COM6
Send
The soil is DRY (581) The soil is DRY (575) The soil is DRY (566) The soil is DRY (547) The soil is DRY (539) The soil is WET (521) The soil is WET (513) The soil is WET (492) The soil is WET (488)
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

Funktionsreferenzen

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