Wer kennt es nicht? Man ist ein paar Tage weg oder im Alltagsstress versunken, und schon lassen die geliebten Zimmerpflanzen traurig die Blätter hängen. Gießen ist einfach so eine Sache, die man schnell vergisst. Aber was wäre, wenn deine Pflanzen dir einfach sagen könnten, wann sie Durst haben?
Genau das machen wir heute! Wir bauen einen einfachen, aber super effektiven „Pflanzenwächter“ mit einem Arduino und einem Bodenfeuchtigkeitssensor (YL-69/FC-28). Dieses kleine Projekt ist perfekt für Einsteiger und der erste Schritt zu deinem eigenen automatisierten Smart Garden.
🌱 Was brauchst du?
- Einen Arduino UNO R3 (oder kompatibel)
- Einen Bodenfeuchtigkeitssensor (den YL-69 oder FC-28)
- Ein paar Jumper-Kabel
- Optional: Eine LED mit Widerstand (ca. 220 Ohm) als Alarm
💡 So funktioniert der Sensor
Das Modul ist genial einfach. Es besteht aus zwei Teilen:
- Die Sonde (Gabel): Diese steckst du in die Blumenerde. Sie misst den elektrischen Widerstand zwischen ihren beiden Zinken. Je feuchter die Erde, desto besser leitet sie den Strom (geringerer Widerstand).
- Das Komparator-Modul (die kleine Platine): Hier wird das Signal der Sonde ausgewertet. Dieses Modul gibt uns zwei verschiedene Signale, die wir nutzen können:
- Der Analoge Ausgang (AO): Dieser Pin liefert uns einen Spannungswert, der genau angibt, wie feucht die Erde ist. Bei trockener Erde ist der Wert hoch (z.B. über 900), bei nasser Erde sehr niedrig (z.B. unter 300). Das ist perfekt, um verschiedene Feuchtigkeitsstufen zu messen.
- Der Digitale Ausgang (DO): Dieser Pin ist ein einfacher „Ja/Nein“-Schalter. Mit dem blauen Potentiometer (dem kleinen Drehregler) auf dem Modul stellst du einen Schwellenwert ein. Wird die Erde trockener als dieser Wert, schaltet der Pin (z.B. von LOW auf HIGH) und löst einen Alarm aus.
🔧 Die Verkabelung (Beispiel)
Die Verbindung mit deinem Arduino ist kinderleicht:
- VCC (Sensor) -> 5V (Arduino)
- GND (Sensor) -> GND (Arduino)
- AO (Sensor) -> A0 (Arduino Analog-Pin)
- DO (Sensor) -> D7 (Arduino Digital-Pin)
Stecke nun die Sonde in einen Blumentopf. Am besten experimentierst du ein wenig: Miss den Analog-Wert bei trockener Erde und dann, nachdem du die Pflanze gegossen hast, um ein Gefühl für die Messwerte zu bekommen.
🚀 Der nächste Schritt?
Mit dem Code unten kannst du die Werte einfach im Seriellen Monitor auslesen. Aber das ist erst der Anfang! Du könntest jetzt…
- …eine LED an D7 anschließen, die blinkt, wenn der digitale Alarm ausgelöst wird.
- …einen kleinen Summer anschließen, der piept.
- …oder (für Fortgeschrittene) ein Relais Modul ansteuern, das eine kleine Wasserpumpe einschaltet, sobald der Analog-Wert einen bestimmten Schwellenwert überschreitet.
Probier es aus! Es ist ein schnelles Projekt, das sofort einen echten Nutzen hat.
Arduino-Code
Hier ist der Code, um die Werte deines neuen Sensors auszulesen. Lade ihn einfach auf deinen Arduino hoch und öffne den „Seriellen Monitor“ (oben rechts in der Arduino IDE).
C++
/*
* Kleinelektronik.at - Blog-Projekt
* Bodenfeuchtigkeitssensor YL-69 / FC-28 auslesen
*
* Dieser Code zeigt dir, wie du den analogen und digitalen
* Wert des Sensors im Seriellen Monitor anzeigst.
*
* Verbindung (Sensor -> Arduino):
* VCC -> 5V
* GND -> GND
* AO -> A0 (Analog-Pin für genaue Messung)
* DO -> D7 (Digital-Pin für den Alarm)
*/
// Definiere die Pins, an die der Sensor angeschlossen ist
const int ANALOG_PIN = A0;
const int DIGITAL_PIN = 7;
void setup() {
// Starte die serielle Kommunikation, um Werte an den PC zu senden
Serial.begin(9600);
Serial.println("Pflanzenwächter ist aktiv!");
Serial.println("-------------------------");
// Den digitalen Pin als EINGANG konfigurieren
pinMode(DIGITAL_PIN, INPUT);
}
void loop() {
// 1. Analogen Wert auslesen
// Je trockener die Erde, desto HÖHER ist dieser Wert (0-1023)
int feuchtigkeit = analogRead(ANALOG_PIN);
// 2. Digitalen Wert auslesen (Alarm)
// Das Ergebnis hängt von der Poti-Einstellung ab.
// Meist HIGH (1) = Trocken / LOW (0) = Feucht
int alarm = digitalRead(DIGITAL_PIN);
// Werte im Seriellen Monitor ausgeben
Serial.print("Feuchtigkeit (Analog): ");
Serial.print(feuchtigkeit);
Serial.print(" | Alarm (Digital): ");
if (alarm == HIGH) {
Serial.println("ALARM! (Trocken)");
} else {
Serial.println("OK (Feucht)");
}
// Warte 2 Sekunden bis zur nächsten Messung
delay(2000);
}
Disclaimer
Wichtiger Hinweis: Der Nachbau dieses Projekts und aller hier gezeigten Schaltungen erfolgt auf eigene Gefahr. Wir übernehmen keine Haftung für Schäden an Bauteilen, Personen oder Pflanzen. Sei vorsichtig beim Umgang mit Elektronik.
Kauf-Hinweis
Alle Bauteile für dieses Projekt (und viele mehr!) findest du natürlich bei uns im Shop unter wp.haeusler-online.at/!
