Aus Raspberry Pi Geek 06/2020

Blumen gießen mit dem Raspberry Pi

© besjunior, 123RF

Cybergärtner

Konstantin Agouros

Ein Pi Zero W, ein A/D-Wandler und ein preiswertes Bewässerungskit sorgen dafür, dass Ihre Zimmerpflanzen keinen Durst leiden müssen.

Inspiriert durch einen Artikel des RPG-Schwesterhefts Linux-Magazin [1] spukte dem Autor schon länger die Idee durch den Kopf, per Computer die Feuchtigkeit seiner drei Topfpflanzen im Büro zu messen, um sie bei Bedarf automatisch zu gießen. Als er bei der Recherche im Online-Handel auf ein preisgünstiges Kit aus Sensoren und Pumpen stieß, war der Zeitpunkt gekommen, das Thema anzugehen.

Die erste Idee zum Bewässern der drei Blumentöpfe war, eine Pumpe zu verwenden und dann über ein Ventilsystem zu regulieren, welcher Topf Wasser erhält. Online-Recherchen förderten allerdings keine preisgünstigen Systeme zutage; das Thema landete also erst einmal wieder in der Schublade.

Eine spätere Suche endete bei einem Bewässerungskit der chinesischen Firma WayinTop, das für weniger als 30 Euro vier einzelne Pumpen, vier Feuchtigkeitssensoren, ein Relaismodul und einen passenden Schlauch enthält [2]. Das fiel in den Preisrahmen, der dem Autor vorschwebte.

Die Steuerung sollte ein Raspberry Pi übernehmen. Was der Autor allerdings in seiner Vorfreude überlas: Die Sensoren des WayinTop-Kits liefern Analogsignale. Das stellt beim vom Hersteller vorgesehenen Einsatz mit einem Arduino Uno kein Problem dar, die Verwendung an einem Raspberry Pi erfordert aber noch einen Analog-Digital-Wandler. Die Wahl fiel hier auf einen MCP3008, der nur um die 2,50 Euro kostet. Für diesen Chip findet sich auf Github eine Python-Bibliothek zur Programmierung [3].

Teile und herrsche

Um das geplante Szenario für die automatische Bewässerung umzusetzen, ergaben sich die folgenden drei Teilaufgaben:

  • Die Hardware so aufbauen, dass die Sensoren Messwerte liefern und sich die Pumpen einzeln ansteuern lassen.
  • Die Messwerte erfassen und verstehen. Letzteres heißt zum Beispiel zu ermitteln, in welcher Weise das Gießen die Messwerte verändert.
  • Einen Algorithmus ableiten, der ein automatisches Gießen erlaubt.

Der RasPi muss dabei zwei Geräteklassen steuern: die Sensoren, die Daten über die Feuchtigkeit liefern, sowie die Pumpen, die der RasPi nach Bedarf an- und ausschaltet.

Neben dem Steuern und dem Auslesen der Messwerte gehört zu Schritt 1 auch der Aufbau der Stromversorgung. Die Pumpen und Sensoren benötigen lediglich 3,3 Volt, wie sie der Raspberry Pi liefern kann. Daneben braucht auch der A/D-Wandler eine Spannungsversorgung, ebenso die Steuerung des Relaismoduls.

Prinzipiell könnte der Raspberry Pi die Pumpen direkt mit Strom versorgen. Dazu verbindet man den Masseanschluss der Pumpen mit dem Masse-Pin des RasPi. Den Plus-Pol der Pumpen steckt man in diesem Fall an je einen GPIO-Port des RasPi. Auf diese Weise lassen sich die Pumpen an- und abschalten. Allerdings ziehen ihre Motoren beim Anlaufen nicht unbedingt gleichmäßig viel Strom. Daher erscheint die Variante geeigneter, die Pumpen mit einer externen Stromversorgung zu steuern, die das Relaismodul bereitstellt.

Die Sensoren benötigen ebenfalls 3,3 Volt Spannung, um zu funktionieren. Hier muss der Elektrogärtner bedenken, dass je nach Qualität und Beschichtung der Sensoren das permanente Unter-Strom-Halten dazu führt, dass sie korrodieren. Das passiert, weil in der Erde eine chemische Reaktion stattfindet. Die Messung der Feuchte über einen Widerstand verursacht zugleich eine Elektrolyse. Daher ist es durchaus sinnvoll, die Sensoren nur dann mit Strom zu versorgen, wenn sie auch Messdaten liefern sollen. Wie sich in der Praxis zeigte, ist das gar nicht so häufig der Fall.

Beim Aufbau und Testen kam ein Breadboard zum Einsatz. Um das ganze Konstrukt möglichst sparsam umzusetzen, fiel die Wahl zudem auf einen Pi Zero W als Steuerrechner (Abbildung 1).

Abbildung 1: Der detaillierte Steckplan zum Aufbau der Bewässerungsanlage.

Abbildung 1: Der detaillierte Steckplan zum Aufbau der Bewässerungsanlage.

Hands on

Im ersten Schritt ging es darum, Sensor und A/D-Wandler anzuschließen. Der MCP3008 besitzt Anschlüsse auf zwei Seiten. Die der einen dienen zum Ansteuern und für die Stromversorgung, die der anderen beherbergen die Eingangskanäle. Abbildung 2 verdeutlicht die Verschaltung des MCP3008 mit dem Raspberry Pi.

Abbildung 2: Als Erstes muss der Raspberry Pi mit dem A/D-Wandler MCP3008 Verbindung aufnehmen.

Abbildung 2: Als Erstes muss der Raspberry Pi mit dem A/D-Wandler MCP3008 Verbindung aufnehmen.

Das Ansteuern des A/D-Wandlers erfolgt über das SPI-Interface, das man dazu über Raspi-config aktivieren muss. Alternativ versorgt man den Bootloader manuell mit den passenden Kernel-Parametern und startet den Raspberry Pi neu.

Im nächsten Schritt gilt es, die Daten-Ports des MCP3008 mit den passenden Pins des RasPi [4] zu verbinden – nicht alle GPIOs stellen SPI-Funktionen bereit. Die doppelte Erdung (GND) und die 3,3 Volt, die der Wandler benötigt, holt er sich über ein Breadboard. Das erweitert den Pi Zero W, um nicht zu viele Kabel und Pins zu verbrauchen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben