Intelligentes urbanes Pflanzenbewässerungssystem: Sensorgesteuerte Automatisierung
Komponenten und Materialien
| Komponente | Anzahl | Hinweise |
|---|---|---|
| Bodenfeuchtesensor (analog) | 2 | Optional; zwei Elektroden mit Spannungsteiler möglich |
| Regensensor | 1 | Mit Auswerterplatine |
| Milchkarton (1 l) | 1 | Als Wassertank; erhöht montiert |
| Flexibler Kunststoffschlauch | 1 | Ca. 20–30 cm; z. B. ausgeschnittenes Springseil |
| Jumper-Kabel | ca. 37 | Verschiedene Längen |
| SparkFun Inventor's Kit für Arduino 101 | 1 | Enthält Arduino 101, Servo, Breadboard, Potentiometer, LCD |
| Modelliermasse / Heißkleber | 1 | Zur Abdichtung des Schlauchs im Tank |
| Kunststoffstab (kurz) | 1 | Als Stütze für den Auslaufschlauch |
| Widerstand 330 Ω | 1 | Für LCD-Hintergrundbeleuchtung |
Benötigte Werkzeuge
- Schere
- Kreuzschlitzschraubendreher
- Isolierband & normales Klebeband
Software & Online-Dienste
- Arduino IDE
- Nordic Semiconductor nRF Connect SDK (für BLE-Konfiguration)
Projektbeschreibung
Dieses Gerät optimiert die Pflanzenbewässerung in städtischen Umgebungen. Ein Arduino 101 (mit Intel Curie) nutzt Onboard-Sensoren und externe Module, um den idealen Bewässerungszeitpunkt basierend auf Temperatur, Regen und Bodenfeuchte zu berechnen und die Pflanze automatisch zu gießen.
Kernkonzepte
Schwerkraft & Druck
Der Wassertank (Milchkarton) wird erhöht positioniert und fängt Regenwasser auf. Ein Servo verschließt den Auslaufschlauch am Tankboden. In Ruhestellung blockiert der Servoarm (0°) den Durchfluss; zum Gießen schwenkt er um 135° nach unten. Schwerkraft und Wasserdruck sorgen für gleichmäßigen Fluss.
TMP36 Temperatursensor & Intel Curie Pattern Matching Engine (PME)
Der TMP36 liefert ein analoges Spannungssignal proportional zur Temperatur. Das System misst 30-mal pro Stunde (alle 2 Min.) und bildet den Mittelwert von 29 Messungen (die erste wird verworfen). Die PME – ein 128-Neuronen-Klassifikator auf dem Curie-Chip – lernt die täglichen Temperaturprofile und klassifiziert den dem Optimum (25 °C) nächstgelegenen Zeitpunkt. Dieser wird als Bewässerungsstunde für den Folgetag gespeichert. Fehlt eine Klassifikation, fallen monatliche Standardwerte (z. B. 12 Uhr im Winter, 16 Uhr im Sommer) zurück.
Echtzeituhr (RTC) & Bluetooth Low Energy (BLE)
Die Onboard-RTC steuert alle zeitabhängigen Aktionen. Da sie beim Start manuell gesetzt werden muss, erfolgt die initiale Zeitkonfiguration per BLE: Ein Smartphone mit der nRF Connect App fungiert als Central, der Arduino 101 als Peripheral. Über vier Characteristic-Writes werden Stunde, Minute, Tag und Monat (jeweils hex-kodiert) übertragen.
Aufbau – Schritt für Schritt
- Schaltung aufbauen gemäß Fritzing-Diagramm. Bodenfeuchtesensoren sind optional; Regen- und Servokabel evtl. verlängern.
- Stromversorgung: Entweder 2× 4×AA-NiMH-Akkus in Serie (ca. 9,6 V) mit Ein-/Ausschalter oder USB-Kabel.
- Akkugehäuse zusammenkleben, abnehmbaren Deckel für einfachen Wechsel konstruieren.
- Elektronik in Korb montieren, Schlitze für USB und Sensorleitungen aussägen.
- Wassertank vorbereiten: Milchkarton oben öffnen, unten Loch für Schlauch bohren, Schlauch einsetzen, mit Modelliermasse abdichten.
- Servo am Tank befestigen (so tief wie möglich), Schlauchmitte und Stützstab am Servoarm fixieren.
- Tank auf erhöhter Fläche sichern (Tisch, Bank).
- Pflanze positionieren unter dem Auslauf, optionale Feuchtesensoren in Erde stecken, Regensensor in Bodennähe legen.
Programmierung & Betrieb
Code über Arduino IDE (Curie Core ≥ 2.0.2) hochladen. Beim ersten Start wartet das Gerät auf BLE-Verbindung und Zeiteingabe über nRF Connect. Nach Trennen der BLE-Verbindung wartet das System auf 08:00 Uhr. Fehlen Daten im Flash-Speicher, startet der 14-stündige Lernzyklus (08:00–21:00). Danach wird die optimale Stunde klassifiziert, im Flash gespeichert und die Pflanze zu dieser Zeit gegossen – sofern nicht regnet oder der Boden feucht genug ist. Täglich wird neu gelernt; bei Stromausfall bleibt die letzte Flash-Konfiguration erhalten.
Code (Auszug)
Der vollständige Sketch (DigitalClockAlarmV7.ino) umfasst:
- Bibliotheken:
CuriePME.h,CurieBLE.h,CurieTime.h,SerialFlash.h,SPI.h,LiquidCrystal.h,Servo.h,dht.h - EEPROM-Adressen für Alarmzeit, Geburtsdatum, aktuelle Anzeigeart
- BLE-Service
19B10000-E8F2-537E-4F6C-D104768A1214mit Characteristic19B10001-… - Lernphase in
setup(): 30 Samples/Stunde, Mittelwertbildung,CuriePME.learn()pro Stunde (Kategorie = Stunde) loop(): Klassifikation von 25 °C viaCuriePME.classify(), Fallback auf Monatskonstanten, Bewässerung per Servo (135° für 7 s), danachCuriePME.forget()und Neulernen- DHT21-Abfrage alle 6 s für Thermo-/Hygro-Anzeige
// Wichtige Code-Fragmente
void commitSample(int category, uint8_t value) {
uint8_t vector[1] = {value};
CuriePME.learn(vector, 1, category);
}
void saveNetworkKnowledge() {
// Speichert PME-Wissen in Onboard-Serial-Flash (Datei "NeurData.dat")
}
void restoreNetworkKnowledge() {
// Lädt beim Neustart aus Flash
}
Schaltplan & Gehäuse
3D-Druckdateien für das Gehäuse sowie Eagle-Dateien für eine optionale PCB sind im Projekt enthalten.
Weiterführende Ideen
- Einbindung von Bodenfeuchtesensoren (Schwellenwert anpassbar)
- Solarpanel + Laderegler für autarke Stromversorgung
- Datenaustausch per MQTT/LoRa für Fernüberwachung
- Mehrere Bewässerungszonen über Relais/Transistoren
Herstellungsprozess
- Titan: Schlüsseleigenschaften, Anwendungen und industrielle Nutzung
- Kastagnetten: Geschichte, Handwerkskunst und Performance
- Geschichte, Herstellung und Zukunft von Leim: Von antiken Klebstoffen zu modernen Innovationen
- Nähgarn: Typen, Geschichte, Produktion und Qualitätskontrolle
- Acetylen: Produktion, Anwendungen und Handhabung – Ein umfassender Überblick
- Umfassender Überblick über Asbest: Von antiken Anwendungen bis zu modernen Gesundheitsrisiken
- Geschichte, Design und Fertigung von Würfeln: Von antiken Werkzeugen zum modernen Gaming
- Zinn: Von der Bronzezeit zur modernen Industrie – Nutzung, Produktion und Zukunft
- Automatische Pflanzenbewässerung mit Raspberry Pi und Web-Dashboard
- Siemens & Bentley kündigen Joint Solution zur Beschleunigung der Kraftwerks-Digitalisierung an