Kapazitives Bodenfeuchtigkeitsmodul

../_images/10_soil_mositure_module.png

Einführung

Das Bodenfeuchtigkeitsmodul ist ein Sensor zur Messung des Feuchtigkeitsgehalts von Erde. Es findet insbesondere in der Landwirtschaft Anwendung, um den Feuchtigkeitszustand des Bodens zu überwachen und Landwirten eine bessere Bewässerungsplanung zu ermöglichen.

Funktionsprinzip

Im Gegensatz zu den meisten resistiven Sensoren, die derzeit auf dem Markt erhältlich sind, basiert dieses kapazitive Bodenfeuchtigkeitsmodul auf dem Prinzip der kapazitiven Induktion. Dadurch wird das Problem der Korrosionsanfälligkeit, das bei resistiven Sensoren auftritt, effektiv umgangen, was die Lebensdauer des Sensors erheblich verlängert.

Der Sensor besteht aus korrosionsbeständigen Materialien und bietet eine ausgezeichnete Langlebigkeit. Einfach in die Erde neben den Pflanzen einstecken und die Bodenfeuchtigkeit in Echtzeit überwachen. Das Modul enthält einen integrierten Spannungsregler und arbeitet in einem Spannungsbereich von 3,3 bis 5,5 V, wodurch es für Mikrocontroller mit 3,3 V und 5 V Versorgungsspannung ideal ist.

Die Hardware-Schaltung des kapazitiven Bodenfeuchtigkeitssensors ist unten dargestellt.

../_images/10_solid_schematic.png

Der Sensor verfügt über einen festfrequenten Oszillator, der mit einem 555-Timer-IC realisiert ist. Das generierte Rechtecksignal wird dem Sensor zugeführt, der als Kondensator wirkt. Das Signal durchläuft eine Reaktanz, die in Kombination mit einem rein ohmschen Widerstand (10k Widerstand am Pin 3) einen Spannungsteiler bildet.

Je höher die Bodenfeuchtigkeit, desto größer ist die Kapazität des Sensors. Dadurch verringert sich die Reaktanz des Rechtecksignals, was die Spannung auf der Signalleitung reduziert und den Analogeingangswert am Mikrocontroller entsprechend verkleinert.

Anwendungsbeispiele

Benötigte Hardware-Komponenten

  • Arduino Uno R4 oder R3 Board * 1

  • Bodenfeuchtigkeitsmodul * 1

  • Jumperkabel

Schaltungsaufbau

../_images/10_soil_mositure_module_circuit.png

Programmcode



Codeerklärung

  1. Definition des Sensorpins:

const int sensorPin = A0;

In diesem Codeabschnitt wird eine Konstante mit dem Namen sensorPin definiert und dem Wert A0 zugewiesen, der dem analogen Eingangspin auf dem Arduino-Board entspricht, an den der Bodenfeuchtigkeitssensor angeschlossen ist.

  1. Initialisierung der seriellen Kommunikation:

void setup() {
  Serial.begin(9600);
}

Die Funktion setup() wird einmal aufgerufen, wenn der Arduino eingeschaltet oder zurückgesetzt wird. Hier initialisieren wir die serielle Kommunikation mit einer Baudrate von 9600.

  1. Daten lesen und auf dem seriellen Monitor ausgeben:

void loop() {
  Serial.println(analogRead(sensorPin));
  delay(500);
}

In der loop()-Funktion wird die Hauptlogik des Programms ausgeführt. Diese Schleife läuft ununterbrochen, sobald das Programm gestartet ist. Wir verwenden die Funktion analogRead(), um die Daten vom Feuchtigkeitssensor zu lesen und sie auf dem seriellen Monitor auszugeben. Anschließend wird das Programm für 500 Millisekunden pausiert, bevor der nächste Wert erfasst wird.

Bemerkung

Je kleiner der Wert, desto höher ist der Feuchtigkeitsgehalt im Boden.

Weitere Ideen

  • Integration eines Buzzers oder einer LED, die aktiviert wird, wenn der Feuchtigkeitswert unter einen bestimmten Schwellenwert fällt. So erhalten Sie einen physischen Hinweis, wann es Zeit ist, Ihre Pflanzen zu gießen.

  • Automatisierung des Bewässerungsprozesses durch Anschluss einer Wasserpumpe. Fällt die Bodenfeuchtigkeit unter einen bestimmten Wert, kann der Arduino die Pumpe aktivieren, um die Pflanzen zu bewässern.

Weitere Projekte