Programmierung

Damit die ganze Elektronik auch so funktioniert wie erwartet, muss der Arduino, als Kopf des Ganzen, passend programmiert werden. Dafür wurde die Sloeber Arduino IDE in der Programmiersprache C genutzt. Diese Entwicklungsumgebung basiert auf Eclipse, sodass man, im Gegensatz zur normalen Arduino IDE, alle Vorteile von Auto-Vervollständigung, Syntax-Highlighting und Hyperlinking genießen kann.

Es mussten Module für das Display, für die Sensorik, für die Echtzeituhr, den SD-Karten Einschub, … und am Ende natürlich für die Bewässerungsautomatik geschrieben werden. Dabei war es am wichtigsten eine klare Vorstellung des Bewässerungsablaufes zu haben.

Zu parametrisierten Zeiten wird das System nun aus dem Energiesparmodus aufgeweckt, Messwerte aufgenommen und die Pflanzen, die Wasser benötigen, bewässert. Anschließend legt sich das System bis zum nächsten Zeitpunkt wieder schlafen.

Die Bewässerung auf unserem Balkon ist in drei Abschnitte eingeteilt. Jeder Abschnitt wird gleich aber separat behandelt, da nur die benötigten Schlauchteile zur Bewässerung gefüllt werden (es werden nicht immer alle Pflanzen gleichzeitig bewässert). Auch die anschließende Bewässerung der Pflanzen läuft zuerst von oben nach unten und dann auf dem jeweiligen Abschnitt immer von der vom Tank am weitesten entferntesten Pflanze bis hin zur nächstgelegenen:

  1. Oberste Regalebene: 2 Untersetzer
  2. Mittlerer Hauptstrang: 6 Balkonkästen, 1 Kübel, 2 Untersetzer
  3. Untere Bodenebene: 1 Kübel, 1 Untersetzer

Ein typischer Bewässerungsablauf sieht wie folgt aus:

  1. Bodenfeuchtigkeit, Untersetzerwasserstand, Temperatur, Luftfeuchtigkeit, Lichtintensität und Wassertankfüllstand messen
  2. Prüfen ob die Pflanzen Wasser benötigen (z.B. Bodenfeuchtigkeit liegt unter einem gewissen Schwellenwert oder der Untersetzer meldet keine Wasserverbindung zwischen den Kontakten)
  3. Wenn eine Pflanze Wasser benötigt und der Wassertank ausreichend gefüllt ist: Pumpe starten
  4. Die benötigten Schlauchteile mit Wasser füllen
  5. Die spezifische Pflanze wässern (solange bis wiederum ein Schwellenwert überschritten oder die Untersetzermessung Wasserkontakt meldet)
  6. … alle anderen Pflanzen, die Wasser benötigten, bewässern
  7. Pumpe stoppen
  8. Die gefüllten Schlauchteile leerlaufen lassen
  9. Erneut Messwerte aufnehmen um eine Vorher-Nachher Messung zu haben

So entstanden hinterher 14 Programmmodule mit teilweise weit mehr als 1000 Zeilen Code, damit alles so funktioniert wie es für unsere Pflanzen auf dem Balkon am besten ist, aber auch noch genug Parameter zur Feinabstimmung oder für Veränderungen über das Jahr blieben.

Nachdem nun alle Module und auch das Mainboard passend zusammengebaut und programmiert sind, gehen wir im nächsten Beitrag auf die Verkabelung auf unserem Balkon ein. Bis dann!
_____________________
12.10.2019

Schreibe einen Kommentar

Hinweis: Kommentare werden vor der Veröffentlichung erst noch manuell freigegeben.

Deine E-Mail-Adresse wird nicht veröffentlicht.

Verwaltung aktiver Kommentarbenachrichtigungen.