Arduino-basiertes Smart-Irrigation-System: Schaltplan & Code für effizientes Bewässern
Arduino-basiertes Smart-Irrigation-System
Indien ist ein Land, in dem 70 % der Bevölkerung von der Landwirtschaft leben. Heute lässt sich fast jede Arbeit durch Maschinen einfacher erledigen. Automatisierung steigert Produktivität und spart Zeit und Aufwand. Bewässerung ist der wichtigste Teil der Landwirtschaft, um maximalen Ertrag aus der Investition zu erzielen. Es gibt diverse Maschinen für die Landwirtschaft, doch diese sind für Bauern aufgrund hoher Kosten oft unerschwinglich. Benötigt wird eine einfache, kostengünstige Maschine für landwirtschaftliche Zwecke.
In diesem Beitrag besprechen wir ein smartes, einfaches Bewässerungssystem aus kostengünstigen Materialien. Ziel: Bodenfeuchte messen und Motorpumpe automatisch steuern.
Nicht nur in der Landwirtschaft, auch zu Hause brauchen wir automatische Pflanzenbewässerung für Abwesenheitszeiten. In diesem Artikel diskutieren wir den Entwicklungsprozess eines Smart-Irrigation-Projekts, das Pflanzen automatisch bewässert, während Sie bequem zu Hause sitzen. Sie können Bewässerungspläne und Laufzeiten per Smart-Irrigation-Gerät anpassen.
Etwa 50 % der Wasserverluste entstehen durch Ineffizienzen traditioneller Bewässerungssysteme, die Überwässerung verursachen. Unser Smart-Irrigation-System prüft die Bodenfeuchte und versorgt Pflanzen automatisch mit Wasser. Erkennt der Schaltkreis ausreichend Feuchte, schaltet die Motorpumpe ab.
Zusätzlich nutzen wir ein GSM-Modul für regelmäßige Updates zu Bodenfeuchte und Pumpenstatus. Das Projekt ist hochzuverlässig und eliminiert manuelle Arbeit im Bewässerungsprozess.
Wie besprochen, nutzen wir einen Bodenfeuchtesensor zur Messung der Feuchte. Vor Projektstart betrachten wir die Hauptkomponenten für klares Verständnis der Schaltungsfunktion.
- Verwandtes Projekt: Automatische Pflanzenbewässerung & Irrigation – Schaltung, Code & Projektreport
Bodenfeuchtesensor
Der Bodenfeuchtesensor hat zwei Sonden, die den volumetrischen Wassergehalt im Boden messen. Diese Sonden lassen Strom durch den Boden fließen und ermitteln so den Feuchtewert.
Bei Wasser im Boden ist der Widerstand geringer, der Boden leitet Strom – der Sensor misst höhere Feuchte. Trockener Boden leitet schlecht. Bei wenig Wasser fließt weniger Strom, Widerstand steigt – Feuchtemesswert sinkt.

Technische Daten:
- Eingangsspannung – 3,3–5 V
- Ausgangsspannung – 0–4,2 V
- Eingangsstrom – 35 mA
- Ausgang – Analog/Digital
Pinbelegung Bodenfeuchtesensor:
- VCC – Stromversorgung
- A0 – Analogausgang
- D0 – Digitalausgang
- GND – Masse
Verwandtes Projekt: Regenalarmschaltung – Schnee-, Wasser- & Regendetektor
Der Sensor besteht aus zwei leitenden Platten als Sonden. Erste Platte an +5V, zweite direkt an Masse. Ausgang wird direkt am ersten Pin des Sensors abgenommen.
Funktionsprinzip: Offener/geschlossener Stromkreis. Trockener Boden = kein Stromfluss = offener Stromkreis. Feuchter Boden = Stromfluss zwischen den Polen = geschlossener Stromkreis. Wir haben den Feuchtesensor mit Arduino UNO verbunden. Interfacing und Simulationscode folgen später.
- Verwandtes Projekt: Wasserstandsanzeiger-Schaltung – Zwei einfache Projekte
Anwendungen des Bodenfeuchtesensors:
Einsetzbar in Hausgärten und Rasenflächen zur Eliminierung manueller Bewässerung. Für Zimmerpflanzen zur regelmäßigen Wasserversorgung.
Der zweite wichtige Teil ist das GSM-Modul, das mit dem Arduino-Mikrocontroller für Kommunikation genutzt wird.
TTL SIM800 GSM-Modul:
Wir nutzen SIM800 GSM-Modul in unserem Irrigationsprojekt, interfaced mit Arduino zum Senden/Empfangen von Nachrichten. Ein GSM-Modul ist im Grunde ein GSM-Modem, per PCB mit verschiedenen Ausgängen verbunden. In unserem Projekt ist das GSM-Modul mit Arduino verbunden, TTL-Ausgang wird genutzt. Dieses Quadband-GSM-Modul arbeitet auf Frequenzen: GSM 850 MHz, EGSM 900 MHz, DCS 1800 MHz, PCS 1900 MHz. GSM-Module sind hochkompatibel mit Arduino und Mikrocontrollern. TTL SIM800 GSM-Modul in 24×24×3 mm Größe für fast jedes Gerät (Smartphone, PDA etc.).
In Asien nutzen die meisten Mobilfunkanbieter das 900-MHz-Band. GSM-Module entstehen durch Anschluss eines GSM-Modems an PCB mit RS232-Ausgang. Vor Projektwahl GSM-Strombedarf prüfen & TTL-fähige Ausgangspins wählen für direkten Arduino-Anschluss ohne Probleme.
- Verwandtes Projekt: Smart Home Automation System – Schaltung & Quellcode
Technische Daten:
- Quadband
- Benötigte Spannung: 9–12 V DC
- Stromversorgung: Schaltregler-basiert
- Strombedarf: 1 mA
- Betriebstemperatur: -40 bis +85 °C
Merkmale des GSM 800 Moduls:
- Codierungsschema: CS-1, CS-2, CS-3, CS-4 Tx-Leistung
- Geringer Stromverbrauch
- Audiokanäle: Mikrofoneingang & Empfängerausgang
Nun haben Sie gutes Verständnis für Bodenfeuchtesensor und GSM-Modul. Als Nächstes: Beide Komponenten mit Arduino-Mikrocontroller interfacen.
- Verwandter Beitrag: Smart WiFi-Schutzschalter – Aufbau, Installation & Funktion
Arduino UNO Board
Verschiedene Arduino-Versionen sind am Markt: Arduino Mega, Arduino Due etc. Wir nutzen Arduino UNO als günstigsten und einfachsten Mikrocontroller. Er bietet 14 digitale I/O-Pins und 6 Analogpins, unterstützt serielle Kommunikation über TX/RX. Großer Vorteil: Software und Board lassen sich an Anforderungen anpassen.
Interfacing: Bodenfeuchtesensor & GSM-Modul mit Arduino
Die Schaltung ist einfach – folgen Sie dem Schaltplan.
Verbinden Sie den analogen Pin des Bodenfeuchtesensors mit Analogpin 1 (A1) des Arduino. VCC und GND des Sensors an 5V und GND des Arduino.
SIM-Karte in Modul einlegen. GSM-Modul mit Strom versorgen: Wir nutzen 12V-Modul (bei 5V-Modul direkt über Arduino 5V). 12V-Quelle wie im Schaltplan anschließen. GND des Moduls an GND des Arduino. ST-Pin des Moduls an Digitalpin 9, SR-Pin an Digitalpin 10 des Arduino. Zusätzlich LCD zur Feuchteanzeige per Schaltplan anschließen, Potentiometer für LCD-Kontrast.
- Verwandtes Projekt: Distanzmessung mit Arduino & Ultraschallsensor
Relais und Transistor per Relais-Treiberschaltung anschließen.
Benötigte Komponenten laut Liste besorgen und Schaltung gemäß Plan aufbauen:
- Arduino UNO Board
- GSM-Modul
- Verbindungsdrähte
- Transistoren
- 16×2 LCD-Display
- Stromversorgung
- Relais
- Pumpe
- Bodenfeuchtesensor
- Widerstände
- Klemmenverbinder
- Spannungsregler

Programmiercode-Erklärung
Der Programmteil ist sehr einfach. Zuerst Bibliotheken für LCD und Feuchtesensor einbinden. Dann Sender- und Empfängerpins des Sensors (Digitalpin 9 und 10) definieren:
#include <LiquidCrystal.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(9,10);
Variablen statt Pin-Nummern definieren:
int M_Sensor = A0;
int W_led = 7;
int P_led = 13;
LCD-Pins an Arduino definieren:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Im setup(): LCD per lcd.begin() initialisieren, Feuchtesensor per mySerial.begin(). 16,2 übergeben (16 Spalten, 2 Zeilen, volle LCD-Nutzung). Digitalpin 13 als Output (Pumpenstatus-LED & Relais), Pin 7 als Input (Wasserstands-LED) definieren.
void setup() {
lcd.begin(16, 2);
mySerial.begin(9600);
pinMode(7, INPUT);
pinMode(13, OUTPUT);
}
Im loop(): LCD per lcd.clear() leeren. Feuchtesensorwert lesen und in Variable 'Moist' speichern:
lcd.clear();
int Moist = analogRead(M_Sensor);
Bedingungen für trockenen, feuchten und nassen Boden:
if (Moist > 700) // trockener Boden
{
lcd.setCursor(11,0); lcd.print("DRY");
lcd.setCursor(11,1); lcd.print("SOIL");
if (digitalRead(W_led) == 1) // Wasser im Speicher prüfen
{
digitalWrite(13, HIGH);
lcd.setCursor(0,1); lcd.print("PUMP:ON");
mySerial.println("AT+CMGF=1"); delay(1000);
mySerial.println("AT+CMGS=\"NUMBER\"\r"); delay(1000);
mySerial.println("PUMP:ON"); delay(100);
mySerial.println((char)26); delay(1000);
}
else
{
digitalWrite(13, LOW);
lcd.setCursor(0,1); lcd.print("PUMP:OFF");
mySerial.println("AT+CMGF=1"); delay(1000);
mySerial.println("AT+CMGS=\"NUMBER\"\r"); delay(1000);
mySerial.println("PUMP:OFF"); delay(100);
mySerial.println((char)26); delay(1000);
}
}
if (Moist >= 300 && Moist <= 700) // feuchter Boden
{
lcd.setCursor(11,0); lcd.print("MOIST");
lcd.setCursor(11,1); lcd.print("SOIL");
digitalWrite(13, LOW);
lcd.setCursor(0,1); lcd.print("PUMP:OFF");
mySerial.println("AT+CMGF=1"); delay(1000);
mySerial.println("AT+CMGS=\"NUMBER\"\r"); delay(1000);
mySerial.println("PUMP:OFF"); delay(100);
mySerial.println((char)26); delay(1000);
}
if (Moist < 300) // nasser Boden
{
lcd.setCursor(11,0); lcd.print("SOGGY");
lcd.setCursor(11,1); lcd.print("SOIL");
digitalWrite(13, LOW);
lcd.setCursor(0,1); lcd.print("PUMP:OFF");
mySerial.println("AT+CMGF=1"); delay(1000);
mySerial.println("AT+CMGS=\"NUMBER\"\r"); delay(1000);
mySerial.println("PUMP:OFF"); delay(100);
mySerial.println((char)26); delay(1000);
}
delay(1000);
}
- Verwandter Beitrag: Variables Netzteil mit Arduino UNO – Schaltung & Code
Funktionsweise des automatischen Bewässerungssystems
Die Funktionsweise ist einfach. Arduino steuert den gesamten Schaltkreis. Keine Feuchte im Boden = Leitung zwischen den Sensoren-Sonden. Transistor bleibt ON, Arduino Pin 13 LOW. Arduino sendet Nachricht: „Bodenfeuchte normal. Motor AUS“. Pumpe bleibt AUS.
Keine Feuchte im Boden = Transistor Q2 OFF, Pin D7 HIGH. Arduino startet Wasserpumpe & sendet: „Niedrige Feuchte erkannt. Motor EIN“. Pumpe schaltet automatisch AUS, sobald Sensor ausreichend Feuchte detektiert.
- Verwandtes Projekt: Automatischer Badezimmerlichtschalter – Schaltung & Betrieb
Merkmale des Smart-Irrigation-Systems
Das System erfüllt alle Kriterien einer idealen Bewässerung. Profitable Features:
- Passt sich Wetterbedingungen an & misst Feuchte entsprechend für Pumpenbetrieb
- Sensor erkennt hohen Wasserfluss durch Feuchtemessung & schaltet automatisch ab/startet
- Wasserfluss ferngesteuert managen, ohne zum Feld gehen zu müssen
- LCD zeigt Bodendaten regelmäßig an – Aufzeichnung zu verschiedenen Zeitpunkten möglich
Verwandtes Projekt: Automatischer Türklingel mit Objekterkennung per Arduino
Fazit
Smart-Irrigation-System ist in puncto Produktivität und Zuverlässigkeit von großem Nutzen. Einfach zu bauen, zusammenbaubar aus leicht verfügbaren Elektronikbauteilen. Arduino-Mikrocontroller sehr beliebt & einfach zu interfacen. Bodenfeuchtesensor misst Bodenfeuchte.
GSM-Modul informiert Nutzer per SMS auf dem Handy. Wir beschrieben Funktionsweise & Interfacing aller Komponenten mit Arduino. Hoffentlich können Sie nun dieses kostengünstige Smart-Irrigation-System bauen, um im Alltag Wasser zu sparen.
Verwandte Projekte:
- Spannungsverdreifacherschaltung bauen
- Elektronik-Abschlussprojekt-Ideen
- Elektronik-Ingenieur-Projektideen
- Einfache Elektronik-Mini-Projekte für Anfänger
- Weitere Elektro- & Elektronik-Ingenieurprojekte
Industrietechnik
- Reihen-RLC-Kreisanalyse meistern: Von Impedanz bis KVL
- VL53L0X Laser-Distanzsensor: Pinout, Schaltung, Specs & praktische Anwendungen
- HDC2080 Digitaler Feuchte- & Temperatursensor: Schaltplan, Specs & Anwendungen
- Bodenfeuchtesensoren: Funktionsweise und praktische Anwendungen
- Piezoelektrische Wandler: Funktionsprinzipien, Schaltungsdesign und praktische Anwendungen
- Smartes Luftreiniger-System mit Arduino Yun & Sharp Plasmacluster
- Kabelloser Bodenfeuchte-Sensor mit Helium & DFRobot – Echtzeit-Pflanzenpflege
- 555-Timer-Schaltungen für 1-15 Minuten Intervalle: Design, Aufbau & Anwendungen
- KI-verbesserte Digitalkameras revolutionieren Bodenfeuchte-Monitoring
- Präzises Mikrostreifen-Schaltkreis- & Materialcharakterisierungssystem für supraleitende Filme