Arduino Mega - Bodenfeuchtesensor

In dieser Anleitung lernen wir, wie man einen Feuchtesensor mit dem Arduino Mega verwendet. Wir behandeln folgende Themen:

Arduino Mega Bodenfeuchtesensor

Benötigte Hardware

1×Arduino Mega
1×USB 2.0 Kabel Typ A/B
1×Kapazitiver Bodenfeuchtesensor
1×Jumper Kabel
1×(Empfohlen) Screw Terminal Block Shield for Arduino Uno/Mega
1×(Empfohlen) Breadboard Shield for Arduino Mega
1×(Empfohlen) Enclosure for Arduino Mega

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 den Bodenfeuchtesensor

kapazitiver Feuchtesensor vs resistiver Feuchtesensor

Feuchtesensoren gibt es in zwei Arten:

  • Feuchtesensor, der Kapazität verwendet
  • Feuchtesensor, der Widerstand verwendet

Beide Sensoren messen die Bodenfeuchtigkeit, aber sie funktionieren auf unterschiedliche Weise. Wir empfehlen dringend, den kapazitiven Feuchtesensor aus folgendem Grund zu verwenden:

  • Der resistive Bodenfeuchtesensor wird langsam beschädigt. Das passiert, weil Strom zwischen seinen Sonden fließt und chemische Korrosion verursacht.
  • Der kapazitive Bodenfeuchtesensor wird nicht über die Zeit beschädigt. Der Grund ist, dass seine Elektroden bedeckt sind und nicht leicht korrodieren.

Das Bild unten zeigt einen Bodenfeuchtesensor aus einem Material, das über die Zeit gerostet ist.

korrodierter resistiver Bodenfeuchtesensor

Der Rest dieser Anleitung zeigt, wie man den kapazitiven Bodenfeuchtesensor verwendet.

Kapazitiver Bodenfeuchtesensor Pinout

Ein kapazitiver Bodenfeuchtesensor hat drei Pins:

  • GND Pin: mit Masse verbinden (0 Volt)
  • VCC Pin: mit Stromversorgung verbinden (5 Volt oder 3,3 Volt)
  • AOUT Pin: sendet ein analoges Signal, das sich mit der Bodenfeuchtigkeit ändert. Mit einem analogen Eingangspin des Arduino Mega verbinden.
kapazitiver Bodenfeuchtesensor Pinout

Wie es funktioniert

Mehr Wasser im Boden bedeutet, dass die AOUT Pin-Spannung niedriger ist.

Verkabelungsdiagramm

Arduino Mega Bodenfeuchtesensor Verkabelungsdiagramm

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

Arduino Mega Code

/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega 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-mega/arduino-mega-soil-moisture-sensor */ #define AOUT_PIN A0 // Pin A0 connected to the soil moisture sensor void setup() { Serial.begin(9600); // Start serial communication at 9600 baud } void loop() { int value = analogRead(AOUT_PIN); // Read the current moisture value from the sensor Serial.print("Moisture: "); // Display the label for the subsequent value Serial.println(value); // Output the raw moisture reading delay(500); // Wait for 500 milliseconds before the next sample }

Schnelle Schritte

Befolgen Sie diese Schritte der Reihe nach.

  • Verbinden Sie den Bodenfeuchtesensor mit dem Arduino Mega wie im Diagramm gezeigt.
  • Verbinden Sie den Arduino Mega über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige Board: Arduino Mega, und den korrekten COM-Port.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf die Upload-Schaltfläche in der Arduino IDE, um den Code an den Arduino Mega zu senden.
  • Stecken Sie den Sensor in die Erde und fügen Sie dann Wasser zur Erde hinzu. Oder Sie können ihn vorsichtig in ein Glas Salzwasser stellen.
  • Überprüfen Sie die Ergebnisse auf dem Serial Monitor. Es wird so 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:

  • Testen Sie nicht mit reinem Wasser, da es keinen Strom leitet und daher die Sensorwerte nicht beeinflusst.
  • Normalerweise gehen die Sensorwerte nicht auf Null herunter. Sie bleiben bei etwa 500–600, aber das kann sich je nach Tiefe des Sensors in Erde oder Wasser, Art der Erde oder des Wassers und der Versorgungsspannung ändern.
  • Stecken Sie nicht den oberen Teil des Sensors (die Schaltung) in Erde oder Wasser, da dies den Sensor beschädigen kann.

Kalibrierung für kapazitiven Bodenfeuchtesensor

Der Feuchtesensor gibt nicht jedes Mal den gleichen Messwert. Er ändert sich mit der Bodenart und wie feucht der Boden ist. Um ihn richtig zu verwenden, müssen wir ihn anpassen, um den Wert zu finden, der anzeigt, wann der Boden feucht oder trocken ist.

Wie man kalibriert

  • Verwenden Sie den Arduino Mega, um den gegebenen Code auszuführen.
  • Stecken Sie den Feuchtesensor in die Erde.
  • Fügen Sie langsam Wasser zur Erde hinzu.
  • Beobachten Sie den Serial Monitor.
  • Notieren Sie sich den Wert, wenn Sie denken, dass sich der Boden von trocken zu feucht ändert. Dieser Wert wird Schwellenwert genannt.

Bestimmen, ob der Boden feucht oder trocken ist

Nachdem Sie die Kalibrierung abgeschlossen haben, ersetzen Sie den THRESHOLD-Wert, den Sie notiert haben, in diesem Code. Dieser Code überprüft, ob der Boden feucht oder trocken ist.

/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega 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-mega/arduino-mega-soil-moisture-sensor */ #define AOUT_PIN A0 // Analog pin connected to the soil moisture sensor output #define THRESHOLD 530 // Threshold used to categorize moisture level void setup() { Serial.begin(9600); // Start serial communication at 9600 baud } void loop() { int value = analog_read(AOUT_PIN); // Read moisture sensor value from the selected analog pin if (value > THRESHOLD) // Compare the current reading to the dryness threshold Serial.print("The soil is DRY ("); // Output the dry-state label when the reading exceeds the threshold else Serial.print("The soil is WET ("); // Output the wet-state label when the reading does not exceed the threshold Serial.print(value); // Output the numeric sensor reading Serial.println(")"); // End the line with a closing parenthesis delay(500); // Pause briefly before the next reading }

Das Ergebnis, das Sie auf dem Serial Monitor sehen.

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!