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 Marco Schwartz oder Frank de Brabander
Als PDF
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
GND | GND | Über Breadboard |
VCC | 5V | Über Breadboard |
SCL | A5 | |
SDA | A4 | |
GND | GND | Über Breadboard |
VCC | 5V | Über Breadboard |
SIG | A0 | |
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.