Wenn man in den Urlaub fährt, vergisst man oft schnell die Zimmerpflanzen. Aber nehmen wir an, eine Maschine würde diesen Arbeitsschritt übernehmen: Wie müsste man sie bauen und was bräuchte man dafür? In diesem Artikel möchte ich meine Antwort auf dieses Problem vorstellen.
1. Vorüberlegung
Was muss das Gerät können?
- Ein Mikrocontroller steuert alle Prozesse
- Ein Sensor misst die Feuchtigkeit in der Erde der Pflanze
- Wasser soll aufgefüllt werden, wenn ein gewisser Wert unterschritten wurde, sprich die Erde zu trocken ist
- Auch eine manuelle Ansteuerung sollte möglich sein
- Stop-Knopf schalten die Vorgänge ab
- Eine Wasserpumpe befördert Wasser aus einem Eimer in den Topf
Flussdiagramm – Wie müsste ein Programcode aussehen?
Um eine erste Vorstellung davon zu bekommen, wie der Programmcode aussehen könnte, lohnt es sich in vielen Anwendungen zunächst ein Ablaufdiagramm zu erstellen. Dabei stellen die Rauten eine Abfrage dar.
Nach diesem Schema würde das jeweilige Programm nur dann laufen, wenn währenddessen ein Knopf gedrückt ist. Dies ist beim vorgesehenen Verwendungszweck nicht unbedingt sinnvoll. Der Automatikmodus der Pumpe soll natürlich fortlaufend aktiv sein, selbst wenn die Taste nur zum „Aktivieren“ dieses Modus verwendet wurde. Außerdem besteht ein Problem im Programm 1: Hier würde das Drücken eines Knopfes keine Wirkung mehr zeigen, da das Programm sich im sogenannten Deadlock befinden würde, aus dem es nicht ohne einen Neustart herauskommen könnte. Das Ablaufdiagramm muss also noch einmal angepasst werden:
Welche Bauteile werden benötigt?
- Wasserpumpe
- Arduino Mikrocontroller
- Druckknöpfe
- Schlauch (auch in kleineren Mengen verfügbar)
- Feuchtigkeitssensor
- Relai (zum Steuern des Stromkreises der Wasserpumpe)
- Netzteil (Achtung: es sollte eine Möglichkeit geben 2 Drähte anzuschrauben)
- Eimer oder Kiste (Wasserdicht)
- Brotdose (also Kiste für die Platine und die anderen Bauteile)
(Bei dieser Auflistung handelt es sich nicht um bezahlte Werbung. Die Komponenten wurden selbst bezahlt. Auch Produkte anderer Firmen/Händler können funktionieren.)
2. Wie werden die Bauteile verbunden?
Bevor man praktisch tätig wird sollte man die Komponenten erstmal theoretisch miteinander verbinden. Hierzu eignet sich das Programm Fritzing. An dieser Stelle habe ich damit den Schaltplan für alle Elemente außer den Knöpfen visualisiert:
Hier folgt noch die Ergänzung für die Knöpfe. Zum Schutz des Boards sollte man einen sog. Teardown-Widerstand in jedem Kreis nutzen.
Einzelne Tests sind wichtig
Vor dem Zusammenfügen aller Komponenten empfehle ich einen Funktionstest des vorliegenden Sensors. Dies ermöglicht nicht nur das Ausschließen von Defekten, sondern vermittelt auch direkt ein Gefühl dafür, wie die Sensorwerte ausgegeben werden.
Schaltknöpfe
Da die Schaltknöpfe ohne Anschlusskabel geliefert werden, habe ich diese zunächst angelötet. Um Kurzschlüsse zu vermeiden, sollten die offenen Kabelstellen mit Schrumpfschlauch oder Isolierband umschlossen werden.
Die Projektbox
Damit Arduino (Mikrocontroller), Relais und Verkabelung an ihrem Platz bleiben, sollte eine Brotdose o.ä. als Projektbox genutzt werden. Wenn die Bewässerung im Außenbereich betrieben werden soll, können auch wasserdichte Kabelboxen aus dem Baumarkt verwendet werden.
Verkabelung
3. Programmierung
Nun geht es um die Programmierung. Dafür greifen wir auf unseren Ablaufplan zurück, den wir am Anfang erstellt haben. Zur besseren Veranschaulichung nutze ich zum Erstellen des Programmcodes die kostenlose Programmierumgebung NEPO. Für die Verbindung zwischen PC und Arduino ist eine Installation des “OpenRobertaConnectors” notwendig. Weiteres dazu im Handbuch der Anwendung. Zum besseren Verständnis ist hier zunächst der gesamte Code dargestellt (zum Vergrößern auf das Bild klicken).
Roboterkonfiguration
Der zuvor erstellte Schaltplan muss nun in die „Roboterkonfiguration“ übertragen werden, damit NEPO weiß, an welchen Pins die Bauteile angeschlossen sind. Unter „Aktor digital…“ wird die Stromzufuhr für die Knöpfe festgelegt (+5V).
Variablen
Wir benötigen zwei Variablen. „Messwert“ gibt den jeweiligen Feuchtigkeitswert des Sensors an (muss später noch beschrieben werden). Da es drei Programme geben soll (AN, AUS, AUTO), muss ein Programmstatus festgelegt werden.
Hauptprogramm
Sensor auslesen
Abschluss
Damit schließen wir nun das Projekt „Automatische Pflanzenbewässerung“ ab. Ich wünsche viel Spaß beim Nachbauen. Senden Sie gerne Ihre Fragen, Anregungen oder fertige Projekte an kontakt@nelsons-logbuch.de
Anleitung und Bilder © 2024 Nelson Ptak