🍪 Privacy & Transparency

We and our partners use cookies to Store and/or access information on a device. We and our partners use data for Personalised ads and content, ad and content measurement, audience insights and product development. An example of data being processed may be a unique identifier stored in a cookie. Some of our partners may process your data as a part of their legitimate business interest without asking for consent. To view the purposes they believe they have legitimate interest for, or to object to this data processing use the vendor list link below. The consent submitted will only be used for data processing originating from this website. If you would like to change your settings or withdraw consent at any time, the link to do so is in our privacy policy accessible from our home page..

Vendor List | Privacy Policy
Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry PI

Menu
  • Projekte
    • LED’s
    • Servo & Schrittmotoren
    • Sound
    • LCD’s
    • Kommunikation
    • Sicherheit
    • Weekend Project
  • Arduino
    • Tutorials
    • ProMini
      • Anschließen & Programmieren
    • Nano
      • Arduino Nano – Übersicht
    • UNO
      • Übersicht
    • MEGA 2560
      • Übersicht
    • Leonardo
      • Übersicht
    • NodeMCU
      • NodeMCU – “Einer für (fast) Alles!”
    • Lilypad
      • Arduino: Lilypad “Jetzt Geht’s Rund!”
    • WEMOS
      • WEMOS D1 – Arduino UNO kompatibles Board mit ESP8266 Chip
      • WEMOS D1 Mini – Übersicht
      • Wemos D1 mini Shields
    • STM32x
      • STM32F103C8T6 – Übersicht
    • Maker UNO
      • Maker UNO – Überblick und Test
    • ATTiny85
      • Mini Arduino mit ATTiny85 Chip
      • ATtiny85 mit dem Arduino UNO beschreiben
  • Android
  • Über mich
  • DeutschDeutsch
  • EnglishEnglish
Menu

Arduino Lektion 28: Bodenfeuchtesensor

Posted on 13. April 20173. Mai 2023 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.

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

Kategorien

Tools

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator
  • Widerstandsrechner
  • Rechner für Strom & Widerstände
  • ASCII Tabelle

Meta

  • Videothek
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Kontakt
  • Cookie-Richtlinie (EU)

Links

Blogverzeichnis Bloggerei.de Blogverzeichnis TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
©2023 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb