Das siebzehnte Türchen

Es ist der 17. Dezember und die Weihnachtswichtel von AZ-Delivery hatten bisher viele große und kleine Überraschungen hinter den Türchen verpackt. Auch hinter Türchen Nummer siebzehn ist heute wieder eine Kleinigkeit, die gerade in der Winterzeit beim Blumengießen helfen kann. Gerade ein Weihnachtsstern braucht erst Wasser, wenn der Boden leicht trocken ist, da er sonst schnell kaputt geht. Mit diesem kleinem Gärtnerwissen geht es auch direkt weiter.

Was ist hinter dem Türchen?

Hinter dem Türchen befindet sich der Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv, siehe Abbildung 1.

Abbildung 1: Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv

Im direkten Vergleich zum Bodenfeuchtesensor Hygrometer Boden Feuchtigkeit Module, siehe Abbildung 2, ist die Größe und auch die Art vom Anschluss sichtbar unterschiedlich.

Abbildung 2: Vergleich der Bodenfeuchtesensoren

Aber nicht nur Größe und Anschluss unterscheiden sich, sondern auch wie die Sensoren mit Micro Controllern kommunizieren. Der Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv gibt nur noch ein analoges Signal zurück, hingegen der Bodenfeuchtesensor Hygrometer Boden Feuchtigkeit Module ein analoges und digitales Signal. In den meisten Fällen ist aber ausschließlich das analoge Signal interessant. Da die Kontakte beim Bodenfeuchtesensor Hygrometer Boden Feuchtigkeit Module frei zugänglich sind, kann es schnell passieren, dass die Kontakte korrodieren. Beim Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv wird, wie schon der Name sagt, die Bodenfeuchte kapazitiv gemessen.

Die Vorbereitung

Damit wir den Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv nutzen können, brauchen Sie noch einen entsprechenden Micro Controller. Für das hier gezeigte kleine Experiment reicht vollkommen der Nano V3.0 mit Atmega328 CH340 aus. Wichtig an dieser Stelle: der Bodenfeuchtesensor Hygrometer Modul V1.2 kapazitiv braucht eine 5V-Spannungsversorgung und liefert auch ein analoges Signal zwischen 0-5V! Nutzen Sie z.B. einen ESP32, dann müssen Sie noch einen Spannungsteiler vor den analogen Eingang bauen, andernfalls können Sie ihren MicroController zerstören.

Für die Anzeige wird noch ein LCD-Display 16x2 mit I2C-Verbindung benötigt.

Bodenfeuchte überwachen

Als kleines und schnelles Beispiel soll der Sensor das analoge Signal auf einem LCD-Display 16x2 mit I2C-Adapter ausgeben. Der Aufbau und der Quellcode sind recht schnell erledigt.

Die Verdrahtung ist Tabelle 1 zu entnehmen.

Pin

MicroController (Nano V3.0)

Bodenfeuchtesensor

Display

GND

GND

GND

GND

5V

5V

VCC

VCC

Analoges Signal

A0

AOUT

 

SDA

A4

 

SDA

SCL

A5

 

SCL

Tabelle 1: Anschluss an MicroController

Der Quellcode ist ebenso simpel wie schnell erledigt, siehe Code 1.

//-----------------------------------------------------
// Soil moisture sensor sample
// Autor: Joern Weise
// License: GNU GPl 3.0
// Created: 10. Dec 2020
// Update: 10. Dec 2020
//-----------------------------------------------------
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define UPDATETIME 5000
#define NEEDTOWATERING 700
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
unsigned long iLastUpate = 0;
int iLastAnalogRead = 0;
// the setup routine runs once when you press reset:

void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(115200);
  Serial.println("Starting setup");
  Serial.println("Init display");
  lcd.init(); // initialize the lcd
  Serial.println("Backlight on");
  lcd.backlight(); // backlight on
  Serial.println("Write text");
  lcd.home(); // set cursor to 0,0

  //Write some text
  lcd.print("Soil moisture");
  lcd.setCursor(0, 1);
  lcd.print("sensor monitor");
  Serial.println("Setup done");
  delay(5000);
  }

// the loop routine runs over and over again forever:
void loop() {

  if(millis() - iLastUpate > UPDATETIME)     {
    int sensorValue = analogRead(A0);
    if(iLastAnalogRead != sensorValue)     {
      lcd.clear();
      lcd.home();
      lcd.print("Value: " + String(sensorValue));
      lcd.setCursor(0, 1);
      if(sensorValue >= NEEDTOWATERING)
         lcd.print("Need some water");
      else
        lcd.print("No water needed");
        Serial.println("New value: " + String(sensorValue));
        iLastAnalogRead = sensorValue;
    }
    iLastUpate = millis();
  }
}

Code 1: Code Bodenfeuchte überwachen

 

So haben Sie stets im Auge, wann Sie wieder ihren Weihnachtsstern oder ihre andere Pflanze gießen müssen, siehe Abbildung 3. Vergessen Sie dabei aber nicht, das define NEEDTOWATERING so einzustellen, dass ihre Pflanzen nicht verdursten!

 Abbildung 3: Fertige Schaltung


Weitere Projekte für AZ-Delivery von mir, finden Sie unter https://github.com/M3taKn1ght/Blog-Repo.

 

Specials

1 Kommentar

Horst Schwemmer

Horst Schwemmer

kann ich das Hygrometer Modul V1.2 auch über den bereits vorhandenen MCP3800 an einem Raspberry 3 betreiben?
Danke schon mal im Voraus
Horst Schwemmer

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert

Aanbevolen blog berichten

  1. Installeer ESP32 nu van de raad van bestuur
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP Programmeren via Wi-Fi