In diesem Beitrag möchte ich dir die Einheit von M5Stack mit einer kleinen Wasserpumpe und einem Bodenfeuchtesensor vorstellen.
Den im nachfolgenden verwendeten Mikrocontroller vom Typ M5Stack ATOM Matrix habe ich dir bereits in einigen Beiträgen vorgestellt, zbsp. unter:
- Programmieren des M5Stack ATOM Matrix mit UI Flow
- Programmieren der OLED UNIT SH1107 am M5Stack ATOM
- Ultraschall Abstandssensor am M5Stack ATOM Matrix
Bezug einer M5 UNIT Watering
Der hier vorgestellte Baustein ist im Internet unter der Bezeichnung “M5 UNIT Watering” verfügbar.
Im offiziellen Shop von M5, kannst du dieses Modul für knapp 11,5 $ zzgl. Versandkosten erstehen. Alternativ kannst du es aber auch über andere Shops bestellen:
Shop | Preis | Versandkosten |
---|---|---|
Conrad Electronic | 16,99 € | 5,99 € |
Berry Base | 12,75 € | 3,95 € |
Voelkner | 13,85 € | 5,95 € |
Eckstein Komponente | 13,95 € | 5,95 € |
Auf ebay.de* und vor allem auch manchmal auf ebay-kleinanzeigen.de kann man dieses Modul recht günstig bekommen.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Lieferumfang
Zum Lieferumfang gehört neben dem Modul noch zwei kleine Silikonschläuche und ein Anschlusskabel mit Grove Steckern.
Technische Daten
Hier die technischen Daten der M5 UNIT Watering:
- Anschluss: 1x HY2.0-4P (Grove Connector)
- Abmaße (LxBxH): 192,5 mm x 24 mm x 33 mm
- Gewicht: 103 g
Technische Daten der Pumpe EDPL600-12B von Kamoer
Die Pumpe hat nachfolgende technische Daten:
- Leistung: 5W
- Spannungsaufnahme: 12V
- max. Stromaufnahme: 0.3 A
Da die Pumpe mit 5V über USB betrieben wird, ist die Stromaufnahme deutlich geringer.
Ein kleiner Test zum Messen der Leistung
Zunächst möchte ich die Leistung der Pumpe testen, diese ist auf der Herstellerseite https://www.kamoer.com/edlp600.html mit ≥ 600ml/min angegeben. Natürlich bezieht sich dieses auf einen Betrieb mit 12V. Da wir die Pumpe jedoch nur mit 5V betreiben, werden wir darunter liegen.
Für das Umpumpen von 500ml Wasser hat es 1 Minute 55 Sekunden benötigt.
Aufbau des M5Stack Moduls mit Wasserpumpe & Bodenfeuchtesensor
Das Modul M5 UNIT Watering ist mit einem kapazitiven Bodenfeuchtesensor und einer Wasserpumpe bestückt.
Der Vorteil eines kapazitiven Bodenfeuchtesensors gegenüber einem normalen, günstigen Bodenfeuchtesensors ist das dieser deutlich resistenter gegenüber einer doch meist basischen Blumenerde ist.
Im unteren Bild kann man an dem einen Bodenfeuchtesensor schon erkennen, dass dieser beginnt sich aufzulösen.
Pinout der M5 UNIT Watering
Auf der Rückseite befindet sich ein kleines Bild mit dem Pinout des Modules.
Im nachfolgenden Beispiel verwende ich den M5Stack Atom Matrix und somit ergibt sich folgende kleine Schaltung.
M5 UNIT Watering | M5Stack ATOM Lite / ATOM Matrix |
---|---|
OUT – Wasserpumpe | G26 |
IN – Bodenfeuchtesensor | G32 |
5V | 5V |
GND | GND |
Anschluss per Grove Schnittstelle an andere Mikrocontroller
Es gibt auf dem Markt einige Mikrocontroller, die zusätzlich mit einer Grove Schnittstelle ausgestattet sind wie zbsp. dem Seeeduino Nano mit Grove Shields. Jedoch haben wir mit diesen Mikrocontrollern das Problem, dass wir einen digitalen Ausgang sowie einen analogen Eingang benötigen. Dieses haben die meisten Mikrocontroller nicht!
Programmieren des Modules in UIFlow
Wie man den M5Stack ATOM Matrix in UI Flow programmiert, habe ich dir bereits in einigen Beiträgen gezeigt. Ich gehe hier zunächst davon aus, dass der Mikrocontroller eingerichtet und zum Programmieren bereit ist.
Die Software UI Flow findest du als Online-Tool und als IDE zum Herunterladen. Im Nachfolgenden habe ich die Offline Version gewählt.
Einheit aus der UI Flow Bibliothek
Du findest in der Anwendung UI Flow die passende Einheit mit den entsprechenden Funktionen, dieses hatte in meinem Versuch leider nicht zu einem positiven Ergebnis geführt und ich hatte dann auf die normale Steuerung gewechselt.
Beispiele
Nachfolgend nun einpaar Beispiele zum hier vorgestellten Modul mit dem M5Stack ATOM Matrix. Du kannst alternativ auch den ATOM Lite verwenden,dieser hat die gleiche Pinbelegung jedoch kein RGB LED Display.
Die Codebeispiele findest du auf meinem Git Hub Repository unter StefanDraeger/m5Stack.
Schalten der Pumpe mit einem Taster
Der M5Stack ATOM Matrix verfügt über einen kleinen Taster unter der RGB LED Matrix, welchen wir zunächst dafür verwenden wollen, die Pumpe zu aktivieren bzw. zu deaktivieren.
In dem nachfolgenden kurzen Video zeige ich dir, wie du das Programm aufbaust. Dabei wird, wenn der Taster betätigt wird, die Pumpe aktiviert und das Display verfärbt sich in Grün. Wenn erneut der Taster betätigt wird, wird die Pumpe wieder deaktiviert und das Display erlischt.
Hier nun das fertige Programm im Überblick:
Für einen realistischen Betrieb habe ich mir mal eine kleine Pflanze inkl. Topf aus dem örtlichen Baumarkt geholt.
Aktivieren der Pumpe per Schwellwert des Bodenfeuchtesensors
Wie bereits öfters erwähnt, verfügt das Modul über einen kapazitiven Bodenfeuchtesensor. Dieser Sensor liefert ein analoges Signal zwischen 0 und 1023.
Da wir nicht warten wollen bis die Blumenerde knochentrocken und die Pflanze ebenso sehr knusprig ist, richten zwei Variablen ein. Denn auch zu viel Wasser ist schlecht für eine Pflanze.
Zunächst lesen wir den Bodenfeuchtesensor aus, dafür nutze ich den Mikrocontroller M5StickC dieser verfügt über ein kleines LCD-Display und eine passende Groove-Schnittstelle (und natürlich über eine USB-C Schnittstelle zum Programmieren).
Ein weiterer Vorteil des M5StickC ist das dieser eine kleine Batterie verbaut hat, welche diesen auch bei einem eventuellen Stromausfall mit Strom versorgt. Mit dem Modul Tailbat von M5Stack kannst du den verbauten LiPo Akku mit 120mAh um weitere 190mAh erweitern.
Mit diesem kleinen Aufbau können wir nun messen, ab wann der Boden genug durchfeuchtet bzw. zu trocken ist. In meinem Fall nehme ich den Wert 600 als maximalen und den 500 für den minimalen Wert.
Im nachfolgenden Video möchte ich dir ausführlich zeigen, wie du diesen kleinen Aufbau in UIFlow realisieren kannst.
Hier nun das fertige Programm: