Arduino Nano - Bodenfeuchtigkeitssensor

Dieses Tutorial zeigt Ihnen, wie man einen Feuchtigkeitssensor mit dem Arduino Nano verwendet. Genauer gesagt, werden wir uns Folgendes ansehen:

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Kapazitiver Bodenfeuchtigkeitssensor
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

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 Sensor

kapazitiver Feuchtigkeitssensor vs resistiver Feuchtigkeitssensor

Es gibt zwei Arten von Feuchtigkeitssensoren:

  • Der resistive Feuchtigkeitssensor
  • Der kapazitive Feuchtigkeitssensor.

Beide Sensoren liefern Informationen zur Bodenfeuchte. Allerdings unterscheiden sich ihre Funktionsprinzipien. Wir empfehlen dringend die Verwendung des kapazitiven Feuchtigkeitssensors aus den folgenden Gründen:

  • Der resistive Bodenfeuchtesensor ist mit der Zeit korrosionsanfällig. Das liegt daran, dass elektrischer Strom zwischen seinen Elektroden fließt, was zu elektrochemischer Korrosion führt.
  • Der kapazitive Bodenfeuchtesensor korrodiert im Laufe der Zeit deutlich langsamer als der resistive Bodenfeuchtesensor. Dies liegt daran, dass seine Elektroden nicht freigelegt sind und daher widerstandsfähiger gegen Korrosion sind.

Dies ist eine Abbildung eines resistiven Bodenfeuchtesensors, der aufgrund von Korrosion im Laufe der Zeit beschädigt wurde.

Der widerstandsbasierte Bodenfeuchtesensor ist korrodiert.

Der verbleibende Teil dieses Tutorials wird den kapazitiven Bodenfeuchtesensor verwenden.

Pinbelegung eines kapazitiven Bodenfeuchtigkeitssensors

Der kapazitive Bodenfeuchtesensor hat drei Pins:

  • GND-Pin: Dieser sollte mit GND (0 V) verbunden werden.
  • VCC-Pin: Dieser sollte mit VCC (5 V oder 3,3 V) verbunden werden.
  • AOUT-Pin: Dieser analoge Ausgangspin erzeugt eine Spannung, die proportional zur Bodenfeuchte ist. Er sollte an den analogen Eingangspin eines Arduino angeschlossen werden.
Pinbelegung eines kapazitiven Bodenfeuchtesensors

Wie es funktioniert

Der AOUT-Pin hat eine höhere Spannung, wenn weniger Wasser im Boden vorhanden ist.

Verdrahtungsdiagramm

Arduino Nano Verdrahtungsdiagramm für Bodenfeuchtigkeitssensor

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

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

Arduino Nano Code zum Auslesen des Werts eines Bodenfeuchtigkeitssensors

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-soil-moisture-sensor */ #define AOUT_PIN A6 // The Arduino Nano pin that connects to AOUT pin of moisture sensor void setup() { Serial.begin(9600); } void loop() { int value = analogRead(AOUT_PIN); // read the analog value from sensor Serial.print("Moisture: "); Serial.println(value); delay(500); }

Schnelle Schritte

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie auf die Schaltfläche Hochladen im Arduino IDE, um den Code zu kompilieren und auf den Arduino Nano hochzuladen.
  • Vergraben Sie den Sensor im Boden und gießen Sie anschließend Wasser hinein. Oder tauchen Sie ihn langsam in ein Glas Salzwasser.
  • Überprüfen Sie das Ergebnis im Serial Monitor. Es sieht wie folgt aus:
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:

  • Vermeiden Sie Tests mit reinem Wasser, da es keinen elektrischen Strom leitet und somit die Sensorwerte nicht beeinflusst.
  • Die Sensorwerte erreichen niemals Null. Typischerweise liegen sie zwischen 500 und 600, wobei dies je nach Faktoren wie der Tiefe des Sensors, dem Bodentyp oder der Wasserart sowie der Versorgungsspannung variieren kann.
  • Vergraben Sie das Schaltungsbauteil (das sich oberhalb des Sensors befindet) nicht im Boden oder Wasser, da dies den Sensor beschädigen kann.

Kalibrierung für kapazitiven Bodenfeuchtesensor

Der vom Feuchtigkeitssensor gemessene Wert ist nicht absolut. Er hängt von der Bodenbeschaffenheit und der vorhandenen Wassermenge ab. Um eine genaue Grenze zwischen nass und trocken zu bestimmen, muss eine Kalibrierung durchgeführt werden.

Anweisungen zur Kalibrierung:

  • Führe den Code auf dem Arduino Nano aus.
  • Platziere den Feuchtigkeitssensor im Boden.
  • Füge dem Boden nach und nach Wasser hinzu.
  • Öffne den Serial Monitor.
  • Notiere den Wert, wenn der Boden von trocken zu nass wechselt. Dies wird als Schwellenwert bezeichnet.

Arduino Nano bestimmt, ob der Boden nass oder trocken ist

Nachdem die Kalibrierung abgeschlossen ist, aktualisieren Sie den THRESHOLD-Wert, den Sie notiert haben, im untenstehenden Code. Dieser Arduino Nano-Code wird entscheiden, ob der Boden nass oder trocken ist.

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-soil-moisture-sensor */ #define AOUT_PIN A6 // The Arduino Nano pin that connects to AOUT pin of moisture sensor #define THRESHOLD 530 // CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); } void loop() { int value = analogRead(AOUT_PIN); // read the analog value from sensor if (value > THRESHOLD) Serial.print("The soil is DRY ("); else Serial.print("The soil is WET ("); Serial.print(value); Serial.println(")"); delay(500); }

Die Ausgabe wird im Serial Monitor angezeigt.

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

Verwandte Tutorials

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