Feuchtigkeitssensor mit Display

Erstellt von Kathrin Eberle
Benötigtes Material
  • Arduino Uno
  • USB-Kabel für den Arduino
  • Feuchtigkeitssensor mit analogen Ausgang
  • I2C Display
  • 9x MM-Kabel
  • Breadboard
Benötigte Software
  • Bibliothek LiquidCrystal I2C von Frank de Brabander
Als PDF
PDF-Download
Arbeitsblatt
PDF-Download erweitert
Erweitertes Arbeitsblatt

Beschreibung

Dieses Arbeitsblatt beschreibt den Aufbau einer einfachen Messstation für den Feuchtigkeitssensor. Die Daten werden direkt auf dem LCD-Display und auf dem seriellen Monitor angezeigt. Mit diesem Feuchtigkeitssensor lässt sich bspw. die Feuchtigkeit von Blumenerde ermitteln. Er lässt sich jedoch auch dazu verwenden, einen Wasserstand zu messen.

Verkabelung

I2C DisplayArduinoAnmerkung
GNDGNDÜber Breadboard
VCC5VÜber Breadboard
SCLA5
SDAA4
SensorArduinoAnmerkung
GNDGNDÜber Breadboard
VCC5VÜber Breadboard
SIGA0
Schaltplan

Schaltplan

Code

Bevor der Code auf dem Arduino ausgeführt werden kann, muss die unter benötigte Software aufgezählte Libraries installiert werden.

#include <LiquidCrystal_I2C.h>  // LiquidCrystal_I2C Bibliothek einbinden.
#include <Wire.h>               // Wire Bibliothek einbinden.

// Pin des Feuchtigkeitssensors
int MESS_PIN = A0;

// Objekt für das LCD-Display
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  // Starte serielle Schnittstelle zur Kommunikation mit dem Arduino
  Serial.begin(9600);

  // Starte das Display
  lcd.init();
  // Hintergrundbeleuchtung fürs Display einschalten
  lcd.backlight();
}

void loop() {
  // Lese den Messwert vom Arduino ab und speichere ihn in der Variable
  int messwert = analogRead(MESS_PIN);

  // Gebe den Messwert auf der seriellen Schnittstelle aus
  Serial.print("Feuchtigkeits-Messwert:");
  Serial.println(messwert);

  // Gebe den Feuchtigkeitsgehalt auf dem Display aus
  lcd.setCursor(0, 0);
  lcd.print("Feuchtigkeit:");
  lcd.setCursor(0, 1);
  lcd.print(messwert);

  // Warte 3 Sekunden
  delay(3000);
}

Aufgaben

Beschreibe, was der Code tut!

Der Pin für den Feuchtigkeitssensor wird gesetzt und ein Objekt für das Display erzeugt. Im Setup wird das Display gestartet und eingeschaltet. Den Messwert erhalten wir in der Loop vom Arduino und speichern ihn in der Variable ´messwert´. Anschließend wird er auf der seriellen Schnittstelle und dem Display ausgegeben.

Miss die Feuchtigkeit eines nassen Taschentuchs und die eines trockenen, welche Werte wurden gemessen?

Der Messwert eines nassen Taschentuchs müsste ca. bei 600 liegen, bei dem trockenen hingegen liegt der Wert zwischen 10 und 30.

Miss die Feuchtigkeit eines trockenen Taschentuchs und etwas aus Plastik, welche Werte werden angezeigt?

Das trockene Taschentuch liefert Werte im Bereich von 10-30, je nachdem wie man den Sensor hält. Das Plastik ist nicht leitend und würde somit keine Feuchtikeit haben und zeigt deshalb einen Wert von 00 an.

Häufige Fragen und Probleme

Der Sensor misst unterschiedliche Werte, wie kann ich das Ergebnis verbessern?

Die Messung hängt von der Art der Feuchtigkeit/Flüssigkeit und somit von der Leitfähigkeit ab. Bei Messungen im Wasser wird ein Abstand von ca. 15 Minuten zwischen jeder Messung empfohlen, um den Sensor nicht zu schädigen.

Was bedeuten die Werte?

Der Wertebereich ca. zwischen 0 und 800 zeigt die gemessene Feuchtigkeit an. 0 ist trocken, 800 nass, wie wenn man den Sensor in das Wasser hält. Anhand denen kann man die Feuchtigkeit ablesen.

Das Material und dessen Inhalte sind - sofern nicht anders angegeben - lizenziert unter der Creative Commons Lizenz CC BY-NC-SA 4.0 (für den vollständigen Lizenztext siehe https://creativecommons.org/licenses/by-sa/4.0/legalcode )