Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Deutsch
  • English
Menu

Arduino Lektion 28: Bodenfeuchtesensor

Posted on 13. April 20175. März 2024 by Stefan Draeger

Der Bodenfeuchtesensor misst die Feuchtigkeit der Erde durch den Widerstand, welcher eine Spannung abfallen lässt. In verschiedenen Foren wurde von Benutzern angesprochen das diese sich „auflösen“ dieses geschieht durch die Spannung in Verbindung mit Feuchtigkeit.

Bodenfeuchtesensor
Bodenfeuchtesensor

In dem Paket zum Sensor liegen die benötigten Kabel, der Sensor und die Auswerteeinheit bei.

  • Bezug
  • Technische Daten des Bodenfeuchtesensor
  • Schaltplan
  • Sensorwerte messen
  • Quellcode
    • Beispiel 1 – Blumentopfüberwachung
  • Download
  • Fazit

Bezug

Der Bodenfeuchtesensor kann Bsp. über eBay.de* für ca. 2 € erworben werden.

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Technische Daten des Bodenfeuchtesensor

  • Betriebsspannung 3,3 bis 5V

Schaltplan

Der Sensor hat 2 Ausgänge welche mit „A“ und „B“ beschriftet sind.
Die Auswerteeinheit besitzt 4 Ausgänge

  • VCC – Spannung
  • A0 – analoger Ausgang
  • D0 – digitaler Ausgang
  • GND – Ground

Somit ergibt sich eine einfache Schaltung (und auch Programmierung).

BodenfeuchtesensorArduino Nano
 VCC5V
 A0A0
 GNDGND
Bodenfeuchtesensor am Arduino Nano
Bodenfeuchtesensor am Arduino Nano

Sensorwerte messen

Da die Feuchtigkeit im Boden nicht von einer zur anderen Sekunde abfallen wird, messe ich Bsp. im Beispiel 1 alle 15min. wobei dieses schon recht viel sein wird.

Da durch die Spannung und der im Boden gelösten Salze (und Mineralien) eine Galvanische Lösung entsteht löst diese mit der Zeit den Sensor auf.

Quellcode

Beispiel 1 – Blumentopfüberwachung

Blumentopfüberwachung mit dem Bodenfeuchtesensor und einem Arduino Nano
Blumentopfüberwachung mit dem Bodenfeuchtesensor und einem Arduino Nano

Zur Überwachung einer Pflanze (Wasserversorgung) habe ich folgendes Sketch erstellt.

/*
* Dateiname: lektion28_bodenfeuchtesensor.ino
* Thema: Bodenfeuchtesensor (mir RGB LED)
*/
 

#define BLUE_LED 2  /* PIN für die blaue LED */
#define RED_LED 4   /* PIN für die rote LED */
#define GREEN_LED 3 /* PIN für die grüne LED */

#define SENSOR_PIN A0 /* PIN für den Bodenfeuchtesensor */

int sensorValue = 0; /* Variable für den Sensorwert */

void setup() {
  Serial.begin(9600); /* Begin der Seriellenkommunikation */
  pinMode(BLUE_LED, OUTPUT);   /* Setzt den PIN für die blaue LED als Ausgang. */
  pinMode(RED_LED, OUTPUT);    /* Setzt den PIN für die rote LED als Ausgang. */
  pinMode(GREEN_LED, OUTPUT);  /* Setzt den PIN für die grüne LED als Ausgang. */
}
void loop() {
    sensorValue = getSensorValue();
    reset();
    if(sensorValue >= 0 && sensorValue <=300){ /* unterer Grenzwert (zu nass) */
       analogWrite(RED_LED, 255);
       analogWrite(GREEN_LED, 255);
       analogWrite(BLUE_LED, 0);     
    } else if(sensorValue >= 301 && sensorValue <=450){ /* Grenzwert i.O. (nicht zu nass und auch nicht zu trocken) */
     analogWrite(GREEN_LED, 255);
    } else if(sensorValue >= 451){ /* oberer Grenzwert (zu trocken) */
      analogWrite(RED_LED, 255);  
    }

    delay(900000); /* Pause für 15min. */
}

//Ließt den Wert des Bodenfeuchtesensors und gibt diesen zurück.
int getSensorValue(){
  return analogRead(SENSOR_PIN);
} 

//Setzt die Farben der RGB LED zurück.
void reset(){
  analogWrite(RED_LED, 0);
  analogWrite(GREEN_LED, 0);
  analogWrite(BLUE_LED, 0);  
}

Download

Arduino Lektion 28: BodenfeuchtesensorHerunterladen

Fazit

In einem Versuchsaufbau über 3 Tage habe ich die Bodenfeuchtigkeit in einer Pflanze gemessen.
Als Substrat wurde Kokoserde und Blumenerde verwendet.

Bodenfeuchte Kokoserde
Bodenfeuchte Kokoserde
Bodenfeuchte Blumenerde
Bodenfeuchte Blumenerde

Der erste Ausschlag im Diagramm ist der Zeitpunkt, wo ich die Pflanze initial gegossen habe.
Danach wurde kein Wasser hinzugefügt.

10 thoughts on “Arduino Lektion 28: Bodenfeuchtesensor”

  1. agre sagt:
    1. März 2018 um 09:23 Uhr

    Wenn es einen Zerfall aufgrund der Spannung gibt, könnte man den Sensor nicht über einen digitalen Pin betreiben? Hast du das schon mal probiert? Reicht da der Strom aus?

    Antworten
    1. Stefan Draeger sagt:
      1. März 2018 um 09:41 Uhr

      Hallo Agre,

      nein ich habe das bisher nicht probiert.

      Gruß,

      Stefan

      Antworten
      1. agre sagt:
        1. März 2018 um 12:13 Uhr

        Vielen Dank für die Rückmeldung. Ich probier das mal aus, wenn ich alle Teile beisammen habe. Dann könnte man den Sensor abschalten und die Lebensdauer erhöhen.

        Antworten
    2. Matthias sagt:
      20. Juli 2018 um 15:18 Uhr

      Beim Verwenden von dem digitalen Pin gibt es immer noch die gleiche Spannung bei der Messgabel.

      Mit dem kleinen Rad kann ist Einzustellen ab welchem Schwellenwert (Analoger Wert) der Digitale Pin von ON auf OFF umschaltet.

      Aber der Sensor arbeitet grundsätzlich immer auf die gleiche Weise, egal ob man den DO oder AO verwendet.

      Eine Möglichkeit um den Verschleiß zu verbessern ist, die 3,3V Versorgungsspannung verwenden anstatt der maximalen 5V.

      LG

      Antworten
  2. Natascha sagt:
    2. März 2018 um 13:13 Uhr

    Hi! Habe eine Frage: und zwar verstehe ich nicht ganz warum die Feuchtigkeit nicht deutlich weniger wird im Diagramm obwohl 3 Tage lang nicht gegossen wurde. Außerdem würde ich gerne wissen welcher Sensor das genau ist und warum die Entscheidung auf diesen gefallen ist?

    LG
    Natascha

    Antworten
  3. Udo Tillmann sagt:
    10. März 2018 um 17:25 Uhr

    Guten Tag Herr Draeger,
    durch Suche nach einem Bauteil bin ich durch Zufall auf Ihre Seite gestoßen u fand als Arduino-Einsteiger viele Anregungen. Der logische Aufbau alle Seiten hat mir sehr gut gefallen.
    Und nun zum Bodenfeuchte-Sensor.
    Ein solche Projekt habe ich für den Früh-Sommer geplant.Nach früheren Recherchen habe ich immer wieder gelesen, daß sich die Bodensensoren mit der Zeitauf Widerstandsbasis leicht auflösen, bedingt durch Elektrolyse.
    Ich fand dann: https://www.tindie.com/products/miceuz/i2c-soil-moisture-sensor/
    auf kapazitiver Basis,was mir dann logischer erschine. Bei ebay für ca 10€ zu haben. Ich habs bezogen bei http://dvs-beregnung.de/ und auf Anfrage auch ein schönes sketch für Arduino bekommen.
    Wäre sicher eine Überlegung wert
    All the schematics and code is available at https://github.com/Miceuz/PlantWateringAlarm

    Grüße von Udo Tillmann
    0160 78 26 421

    Antworten
  4. Sven sagt:
    23. Juli 2019 um 16:21 Uhr

    Hallo,
    ich habe ein ähnliches Projekt und mir als Gehäuse für meine Steuerung ne Brotdose geholt….

    Nun sehe ich gerade du hast exakt die selbe Dose bei einer Pflanzenüberwachung… LOL

    Antworten
  5. Claudio sagt:
    29. Mai 2020 um 17:07 Uhr

    Hallo, um die Lebensdauer der Sensoren zu erhöhen habe ich deren Versorgungsspannung nicht an +5 oder +3,3 Volt des Arduino gelegt, sondern an einen digital-out, der nur kurz zur Messung auf HIGH geschalten wird, nach der Messung ist dann wieder minutenlang auf LOW geschaltet.

    Antworten
    1. Stefan Draeger sagt:
      30. Mai 2020 um 20:49 Uhr

      Hi, das ist eine sehr gute Idee.

      Gruß,

      Stefan Draeger

      Antworten
  6. jörg rauls sagt:
    4. Juli 2020 um 10:11 Uhr

    also ich gebe nur wenig strom, und so läuft es bei mir.
    analogWrite(strom, 130);
    delay(500); //halbe sec warten
    int fuhl = analogRead(fuhler);//dann auslesen
    delay(20); //kurtz warten
    analogWrite(strom, 0); // sensor aus ;-))
    int IntTemp = fuhl;
    if (IntTemp > 530 & var ==0) {

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}