Heute will ich Euch zeigen, wie Ihr mit AsksinPP einen eigenen 7-fach Feuchtigkeitssensor für Eure Blumen und Pflanzen bauen könnt. Dieser Sensor ist dafür bedacht, die Feuchtigkeit der Erde zu messen (Bodenfeuchtigkeitsmessung), als gute alternative zu den recht teuren Gardena Geräten. Das ganze funktioniert als generisches Homematic Gerät, sodass die Messwerte direkt in der CCU ausgewertet werden können. Mit den Werten zur Feuchtigkeit Eures Bodens kann dann ganz gezielt ein Magnetventil (Hunter, Gardena, RainBird und co.) angesteuert werden. Die Platine für die Ansteuerung werde ich Euch in einem nächsten Artikel vorstellen. Hier geht es zuerst um den Aufbau der Sensorik um die genaue Feuchtigkeit in Eurem Garten zu ermitteln.

Technische Daten / Hintergründe

Ich habe diesen Bausatz so entwickelt, dass er draußen eingesetzt werden kann. Das Gehäuse ist wasserdicht und die Kabel sind UV-beständig. Zudem ist eine Solarzelle vorgesehen, die Solarzelle versorgt die Platine und einen Akku. So ist das Gerät völlig unabhängig von Batterien und einer Steckdose. Es sind 7 kapazitive Sensoren Verbaut, die die Bodenfeuchtigkeit messen können. Die Kabel der einzelnen Sensoren können bis zu 25m lang sein, sodass Ihr mit diesem Bausatz auch große Flächen im Garten abdecken könnt. Die Sensoren werden dort in die Erde gesteckt, wo gemessen werden soll. So können z.B. gezielt Pflanzen überwacht werden, Balkonkästen oder aber auch große Beete. Die werte werden per Funk direkt zur Homematic-Zentrale gesendet und können dort in Programmen verarbeitet werden. So ist es möglich, eine voll automatische Gartenbewässerung aufzubauen.

An dieser Stelle will ich mich aber auch nciht mit frenden Federn schmücken! Ich habe lediglich die Komponenten zusammengestellt und die Platine für diesesn Bausatz zusammen mit Björn entwickelt. Die Software für dieses Projekt stammt von pa-pa (AskSinPP library) und von Jérôme, der die Erweiterungssoftware für die Homematic-Zentrale geschrieben hat und auch das Sketch für den Arduino, der hier verbaut ist. Daher ein riesen Danke, dass Ihr solche tollen Projekte möglich macht.

Was wird für den Bausatz alles benötigt?

Diesmal ist die Liste etwas länger, da es sich um einen komplexeren Bausatz handelt, der ja wie schon gesagt auch wetterfest sein soll. Hier zuerst ein Foto, der Komponenten, die ich verbaut habe – Ihr könnt das komplette Set auch bei uns im Shop kaufen. Dort sind bereits alle Teile zusammen, sodass Ihr diese nicht einzeln bestellen müsst. Ansonsten habe ich Euch alle Link zu den einzelnen Komponenten unten aufgeführt. Die Platine für dieses Projekt gibt es auch einzeln im Shop.

Grundplatine1xWebshop technikkram
Komplettbausatz (alle Teile)optinal Webshop technikkram
Aurduino 8MHz 3,3V1xAliexpress
Funkmodul CC11011xAliexpress
Terminal Block 2-fach2xAliexpress
Terminal Block 3-fach7xAliexpress
SMA Antennensockel1xAliexpress
Taster1xConrad Elektronik
10µF Elko1xConrad Elektronik
470K Ohm Widerstand1xConrad Elektronik
100K Ohm Widerstand1xConrad Elektronik
330 Ohm Widerstand1xConrad Elektronik
Solarzelle1xAliexpress
LiPo Akku1xAliexpress
2 mm Pin (optional)9xAliexpress
2,54 mm Pin32xAliexpress
2,54 mm 90° Pin11xAliexpress
Kapazitive Sensoren7xAliexpress
Solar Charger Elektronik (In 3,7-6,5V Out 5V)1xAliexpress
LiPo Protection1xAliexpress
Antenne 2,5 dbi mini1xAmazon
Schrauben M3,5 5mm lang2xAliexpress / eBay
M25 x 1,5 Kabelverschraubung2xAliexpress
Hensel Dose DK04001xAmazon
Schrumpfschlauch (mit Kleber)1mAliexpress (mit Glue!)
M25 Mehrfach. 3-fach1xReichelt
M25 Mehrfach. 4-fach1xReichelt
0,75 mm Kabel1mConrad / eBay überall erhältlich
1 M Steuerleitung 3×0,1435msmartkram

Bilder der Grundplatine

Anbei seht Ihr die fertige Platine, die bei diesem Projekt verwendet wird. Die Platine ist dafür vorgesehen, in der oben verlinkten Hensel-Dose verschraubt zu werden. Die Gerber-FIles, den Schaltplan und das Layout der Platinen findet Ihr hier zum Download.

CC1101 anlöten und testen

Zuerst löten wir das Funkmodul an, das für die Funk-Kommunikation verantwortlich ist. Hier gibt es zwei Methoden. Entweder benutzt Ihr die 2mm Pins, die dem Baustaz beiliegen. Dann werden zuerst die Pins angelötet und dann das Modul auf die Pins gesetzt. Bei den oberen 3 Pins müsst Ihr jeden Pin jedoch einzeln löten, da das Rastermaß vom CC1101 nicht 2mm ist.

Einfacher ist es jedoch, dass Modul direkt auf die Platine zu löten. Zuerst fixiert Ihr die Platine provisorisch, damit diese nicht verrutscht. Das kann entweder mit Klebeband oder einen Draht sein, der in eine Bohrung gesteckt wird. Versucht nun zunächst, das Funk-Modul über einen Lötpunkt auf der Platine zu befestigen und fangt dabei auf der gegenüberliegenden Seite an. Ordnet das Modul so an, dass auf beiden Enden die Lötanschlüsse der DIY-Platine noch zu sehen sind. Richtet jetzt die 8-polige Seite des Funkmoduls exakt aus und verlötet alle Anschlusspunkte. Nehmt genügend Lötzinn, damit es durch die Lötfelder in die Platine durchsickert, aber auch nicht zuviel, damit ihr keine Brücken baut. Danach widmet ihr euch der anderen Seite mit den 3 Anschlüssen für die Antenne. Auch hier ist die beste herangehensweise, das Lot durch die oberen Anschlusspunkte in die Platine „durchsickern“ zu lassen.

Auf dem Bild sehr Ihr, wie das Ergebnis aussehen kann. Da das Funkmodul teilweise Fertigungstoleranzen in der Größe aufweist, hab ihr nicht immer die Möglichkeit, eine richtige Brücke zwischen Platine und Funkmodul zu ziehen. Lasst das Lot dann einfach, wie beschrieben, durchsickern.

Damit es zu keinen kalten Lötstellen kommen kann, solltet Ihr die Lötpunkte auf der Rückseite der Platine nochmal erhitzen. Das Ergebnis sollte wie oben im Bild aussehen. Wer auf Nummer sicher gehen will, sollte zudem messen, ob keine Verbindung zwischen den oberen Lötpunkten entstanden ist. Die beiden äußeren Punkte sind die Masse der Antenne. Diese finden sich im äußeren Viereck des SMA-Steckers wieder.

SMA Stecker Anlöten

Dieser Schritt ist optional, wenn Ihr eine externe Antenne betreiben wollt. Dies ist sinnvoll, wenn das Gerät im Garten steht und die Entfernung zur CCU zu groß wird. Wollt Ihr keine externe Antenne verwenden, kann einfach ein kleiner Draht (ca 8cm) als Antenne auf den mittleren Anschluss (oben) des CC1101 gesetzt werden.

Beim fertigen Bausatz liegt eine kleine externe Antenne und der zugehörige SMA-Sockel bei. Dieser sollte so ausgerichtet sein, dass die Antenne zum Arduino zeigt.

Oben im Bild seht Ihr, dass die Antenne nach links zum Arduino zeigt. Einfacher ist es, wenn Ihr den Sockel ganz am Ende einlötet. Dann kann die Platine einfacher bestückt und flach auf den Tisch gelegt werden.

Taster, Elko und Widerstände einlöten

Jetzt kommen wir zu den Kleinteilen, die auf die Platine gelötet werden müssen. Wir fangen mit den drei Widerständen an.

Auf dem Foto sind die drei Widerstände zu sehen, die dem Bausatz beiliegen. Von links nach Rechts: R1, R2 und R3. Es ist wichtig, dass die Widerstände an die richtige Stelle gelötet werden.Der Widerstand R3 dient als Messbrücke für die Spannungsmessung am LiPo-Akku. Der Widerstand R1 dient als Vorwiderstand für die Diode und der R2 ist Teil der Messbrücke für die Spannung.

Hier seht Ihr die 3 Widerstände, die von der Rückseite noch verlötet werden müssen.

Nun folgen die anderen Bauteile. Seht Euch dazu bitte die Fotos an.

Der Laderegler wird auf einen 90° Sockelleiste gelötet. Da der Platz auf der Platine nicht gerade üppig ist, sollten die Pins gleichmäßig nach oben gebogen werden, damit Ihr mehr Platz zum löten habt. Wichtig ist auch, dass die Bauteile des Ladereglers zum Taster (weg vom Arduino!) zeigen. Der Elko muss so ausgerichtet werden, dass der weiße Balken auf dem Bauteil auf der ausgefüllten Fläche sitzt.

Aurduino anlöten

Jetzt können wir das Herzstück unserer Platine einlöten. Der Arduino wird auf 2,54mm Pins gesetzt, damit das löten einfacher ist. Bittet lötet zuerst alle Pins für den Arduino auf die Platine. Der letzte Pin (oben am roten Taster) bleibt leer. Denkt auch bitte an die Pins A4 und A5!

Nach dem wir nun auch den Arduino verlötet haben, können wir uns um den LiPo-Schutz kümmern. Dieser ist wichtig für den Akku, damit dieser nicht kurzgeschlossen oder überladen werden kann. Der LiPo-Schutz wird auf 4 2,54mm Pins gesetzt. Grundsätzlich wäre auch ein direktes Auflöten, wie beim Funkmodul, möglich. Benutzt in diesem Fall aber bitte die Pins, denn trotz aller Sorgsamkeit beim Löten liess sich mein Arduino nach Abschluss des Platinenaufbaus nicht zum Arbeiten bewegen. Erst spät habe ich bemerkt, dass der LiPo Schutz nicht sauber aufgelötet war, so dass ich auf Pins umgestiegen bin.

Bestückung mit Schraubsockeln

Nachdem wir alle Bauteile auf die Platine gelötet haben, können wir uns um die Schraubsockel kümmern, an denen Später die Solarzelle, der Akku und die 7 Sensoren angeschlossen werden. Für die Sensoren habe ich 3-polige Sockel vorgesehen (7 Stk.) für die Solarzelle und den LiPo Akku 2-polige Sockel.

Die Sockel für die Sensoren zeigen beide nach innen, damit die Kabel später in der Gasse zwischen den beiden Sockelreihen gelegt werden können. Mit diesem Schritt ist die Platinen nun komplett fertig und wir können uns den Sensoren und dem Gehäuse widmen.

Sensoren vorbereiten

Die Sensoren dienen zur Erfassung der Feuchtigkeit im Boden. Da diese Wind, Wetter und vor allem Feuchtigkeit ausgesetzt sind, müssen wir dafür sorgen, dass die Elektronik vor Wasser geschützt wird. Ich habe viel hin und her getestet und bin zum Entschluss gekommen, dass ein Schrumpfschlauch mit integriertem Kleber die beste Möglichkeit ist, die Sensoren Wasserfest zu machen. Jetzt zeige ich Euch Schritt für Schritt, wie Ihr die Sensoren aufbauen könnt.

So sehen die Sensoren aus, wenn Ihr diese aus meinem Bausatz erhaltet. Zuerst müssen wir den weißen Stecker entfernen. Das können wir mit einem Seitenschneider machen und im Anschluss die abgeschnittenen Pins auslöten.

Hier seht Ihr die Pins ohne den weißen Stecker. Diese habe ich mit einer Zange gefasst und die Lötverbindung erhitzt. So können die Pins sehr leicht entfernt werden.

Hier seht Ihr, die Anschlüsse, an denen nun unter Kabel gelötet werden kann. Beim Kabel ist es wichtig, dass Ihr für den Außenbereich ein UV-beständigen Mantel verwendet, da das Kabel sonst nach kurzer Zeit brüchig wird und so nicht mehr zu gebrauchen. Das Kabel kann bis zu 25m lang werden. Es sind auch größere Distanzen möglich, doch dann kann nicht mehr garantiert werden, dass die Signale richtig übertragen werden. Daher solltet Ihr die Länge von 20-25m nicht überschreiten.

Kabel vorbereiten

Nachdem die Kabel abisoliert (ca. 3-4 cm) und mit Lötzinn überzogen worden sind, können wir diese an den Sensor löten.

Hier seht Ihr ein an den Sensorpins fertig gelötetes Kabel. Bitte verwendet die folgende Pinbelegung:

Nummerierung (1,2,3) am Anschlussblock auf der DYI-Platine:

Klemmblock-Belegung DIY-PlatineBelegung Sensor
1. SignalleitungAUOT
2. + VersorgungVCC
3. MasseGND

Nun stülpen wir zuerst ein Stück des großen Kabelbinders über den Sensor (ca 4-5 cm) Der Schrumpfschlauch schrumpft im Verhältnis 1:3. Durch den integrierten Kleber, der bei Hitze flüssig wird, wird eine optimale Abdichtung hergestellt.

Der Schrumpfschlauch sollte oberhalb der weißen Linie vom Sensor bleiben, da hier der aktive Teil des Sensores anfängt. Im Bild seht Ihr den geschrumpften Schlauch und wie er die Bauteile abdichtet. Ihr könnt den Kleber ruhig mit einem stumpfen Gegenstand etwas herausdrücken, damit eine vollständige Abdichtung gegeben ist.

Nun müssen wir uns noch um die obere Abdichtung des Kabels kümmern. Dazu schieben wir den kleiner Schrumpfschlauch (ca. 5cm) von der anderen Seite über das Kabel und stülpen diesen über den bereits geschrumpften größeren Schlauch.

Es ist wichtig, dass der kleinere Schlauch so weit wie möglich nach unten gezogen wird. Durch das erhitzen schrumpft dieser ebenfalls und der Kleber verbindet sich mit dem ersten Schlauch und dichtet diesen ab. Zudem haben wir durch den zweiten Schrumpfschlauch einen Knickschutz geschaffen, der das Kabel schont.

Hier seht Ihr nun alle fertigen Sensoren. Bitte geht bei diesem Schritt sorgsam um, da sonst Wasser eindringen kann und der Sensor dann im schlechtesten Fall komplett ausfällt. Für das Schrumpfen habe ich mit einen kleinen Brenner gekauft, den man sonst für Creme Brulee verwendet. Ein Feuerzeug ist dafür eher nicht geeignet, da die Flamme zu kalt ist und die meisten Feuerzeuge nicht dafür geeignet sind, über einen längeren Zeitraum betrieben zu werden.

Solarzelle vorbereiten

Jetzt fehlt nur noch die Solarzelle, um das Gerät mit Energie zu versorgen! Diese kleben wir mit Silikon oder einem anderen Klebstoff auf den Gehäusedeckel und dichten diesen damit ab. Anbei die Schritt für Schritt Anleitung.

Zuerst bohren wir mit einem 6 mm (kann auch größere oder kleiner sein!) zwei Löcher in den Deckel der Hensel-Dose. Da die Anschlüsse der Solarzellen leider je nach Charge unterschiedliche ausfallen, müssen die Kontakte zum Anschluss vorher ausgemessen werden und auf den Gehäusedeckel übertragen werden. Dann werden an die Anschlüsse der Solarzelle zwei Kabel gelötet. Diese sollten ca. 15 cm lang sein, damit der Deckel später auch bequem abgenommen werden kann. Beschriftet bitte die Enden der Kabel, da wir später nicht mehr nachvollziehen können, welcher für „+“ und welcher für „-“ vorgesehen ist.

Nun werden die beiden Kabel durch die beiden Bohrungen geführt. Danach verteilen wir sehr großflächig Silikon (oder anderen Dichtstoff) auf dem Gehäusedeckel und drücken die Solarzelle fest an. Ich habe die Zelle nach dem ersten Versucht wieder abgenommen und geschaut, ob an manchen Stellen noch Silikon fehlt. Dieses habe ich dann ergänzt und die Solarzelle erneut angedrückt. Es sollte Silikon an den Seiten herausquellen. Dieses kann man später mit den Finger (und etwas Spüli) gut glatt streichen. Damit die Zelle auch wirklich fest sitzt, sollte ein schwerer Gegenstand auf die Zelle gesetzt werden, bis das Silikon fest geworden ist.

Die Solarzelle passt exakt auf den runden Deckel der Hensel-Dose!

Nun müssen wir die Hensel-Dose vorbereiten, damit die Kabelverschraubungen angebracht werden können. Dazu müssen zwei Durchbrüche in die Dose gemacht werden. Diese sind dafür bereits vorbereitet. Es muss das Gummi inkl. dem äußeren Ring entfernt werden. Achtung! Legt die Platine vorher ins Gehäuse und schaut Euch an, welche beiden Löcher durchbrochen werden sollen. Ich habe die Platine so ausgerichtet, dass die Antenne an der Seite liegt, wo nur ein Durchbruch vorgesehen ist. Dadurch ist die Platine so ausgerichtet, dass die beiden Löcher unten recht und unten links für die GP-Verschraubung genutzt werden können.

Achtung:

In einigen Bausätzen hat der Hersteller wohl leichte Änderungen an der Kontermutter vorgenommen. Es befindet sich ein runder Kranz um die Mutter herum.

Damit ihr die Kontermutter nun so tief ins Gehäuse bekommt, damit ihr von Außen die Kabeleinführung einschrauben könnt, schneidet einfach auf einer Seite den runden Kranz mit einem Seitenschneider ab. Im Bild könnt ihr die gekürzte Seite auf der rechten Seite der Mutter erkennen. Diese wird in Richtung Unterseite des Gehäuses positioniert.

Es liegt ein Gummi bei mit 3 Löchern für die Verschraubung und ein Gummi mit 4 Löchern. Dadurch können alle 7 Sensoren wasserdicht eingeführt werden. Sollte bereits ein Gummi in den Verschraubungen vorhanden sein, muss dieses zuvor entfernt und gegen die neuen Gummis getauscht werden.

Beachtet bitte folgende Reihenfolge: Ihr nehmt die Sensoren, zuerst wird die Überwurfmutter mit der runden Fläche zu den Sensoren über die Kabel gezogen, dann folgt das Gummi. Hier werden die offenen Kabelenden durchgezogen. Diese werden dann durch die Verschraubung in der Dose gesteckt.

Jetzt können die Sensoren angeschlossen werden. Damit Ihr später auch wisst, welcher Sensor für welchen Kanal ist, solltet Ihr auch hier eine Beschriftung an den Sensoren vornehmen. Alternativ hier noch einmal die Zuordnungstabelle:

Klemmblock-Belegung DIY-PlatineBelegung Sensor
1. SignalleitungAUOT
2. + VersorgungVCC
3. MasseGND

Ich habe die Platine beim Verschrauben der Sensoren noch nicht am Gehäuse fixiert. So hat man mehr Spielraum beim Verdrahten.

Nun kann auch die Solarzelle angeschlossen werden. Achtet dabei bitte auf die richtige Polung. + / – sind auf der Platine aufgedruckt.

Akku vorbereiten

Auch der Akku kann jetzt montiert werden. Dazu muss zuerst der vorhandenen Stecker abgeschnitten werden. Macht dies bitte einzeln, da der Akku sonst kurzgeschlossen wird. Auch hier habe ich Lötzinn auf die Kabel aufgetragen, damit keine Aderendhülsen für die Montage benötigt werden.

Nun ist unsere Hardware komplett aufgebaut und die Platine mit den beiliegenden Schrauben mit dem Gehäuse verbunden. Auch die Antenne ist montiert (Achtung hier ist ein altes Bild vorhanden! Die Antenne sollte wie schon beschrieben zum Arduino hin ausgerichtet werden!).

Software einspielen

Jetzt kommen wir zur Software für unseren neuen Sensor!

Da ich weiß, das viele von Euch noch keinerlei Erfahrung mit Arduino und dessen Programmierung gemacht haben, werde ich auch diese Schritte im Detail beschreiben. Zuerst müssen wir die Arduion IDE Software herunterladen. Diese gibt es für Windows, Mac und Linux.

Nachdem der Download beendet ist, müsst die die Installationsroutine durchlaufen und das Programm starten.

AskSinPP herunterladen

Um zu starten benötigen wir zuerst AskSinPP. Über die Schaltfläche „Clone or download“ rufen wir ein weiteres Fenster auf. Hier wählen wir nun Download ZIP aus.Nachdem die Datei heruntergeladen ist entpacken wir die Datei in einem temporären Ordner.

Nun müssen wir aus den soeben entpackten Dateien ein neues Archiv machen, jedoch ohne das zusätzliches Unterverzeichnis AskSinPP. Im neuen ZIP-Archiv sind dann direkt die Ordner bootloader, examples usw… zu finden.

Das neue Archiv kann den gleichen Namen wie das alte Archiv tragen.

Wir brauchen diese Datei gleich, um die ZIP-Datei als zusätzliche Library in Arduino IDE einzubinden.

Einbinden der AskSinPP Bibliothek

Die soeben angelegte ZIP-Datei spielen wir jetzt in das Arduino IDE ein. Dazu klicken wir im Hauptfenster auf „Sketch“ und dann auf „Bibliothek einbinden“ dort wählen wir dann „.ZIP-Bibliothek einbinden…“ an.

In dem neuen Fenster wählen wir nun unsere soeben erzeugte ZIP-Datei aus. Damit haben wir die wichtigste Bibliothek für die Funktion unseres neuen Sensors eingebunden!

Zusätzliche Bibliotheken installieren

Zuerst müssen aber noch weitere Bibliotheken geladen werden, damit das Projekt laufen kann.

Wir brauchen folgende Bibliotheken, die noch installiert werden müssen:

  • EnableInterrupt (Mike Schwager)
  • Low-Power (Rocket Scream)
  • Register

Fangen wir mit der ersten Bibliothek an. Diese installieren wir über das Haupfenster mit einem Klick auf „Sketch“ –> „Bibliothek einbinden“ –> „Bibliothek verwalten…“

Es öffnet sich ein neues Fenster. Dort können wir dann nach der benötigten Datei suchen.

Wir geben als im Eingabefeld „EnableInterrupt“ ein und wählen die aktuelle Version aus und danach auf „Installieren“.

Damit haben wir nun die erste Bibliothek eingebunden.

Die nächste Library, die wir benötigen können wir hier von GitHub herunterladen. Auch diese Bibliothek binden wir wieder über die Schaltfläche „Sketch“ –> „Bibliothek einbinden…“ und dann auf „.ZIP-Bibliothek hinzufügen…“.

Anbei der Link zur fehlenden Bibliothek: lowPower

Diese Bibliotheken könnt Ihr auf GitHub herunterladen, indem Ihr auf der rechten Seite auf „Clone or download“ drückt. Dann müsst Ihr „Download ZIP“ auswählen.

Auch diese Datei binden wir wieder über die Schaltfläche „Sketch“ –> „Bibliothek einbinden…“ und dann auf „.ZIP-Bibliothek hinzufügen…“ ein.

Damit haben wir nun alle nötigen Dateien zusammen und können jetzt das Board konfigurieren!

Board Konfigurieren

Nun müssen wir dem Programm noch mitteilen, welches Board wir programmieren wollen. Dazu klicken wir auf „Werkzeuge“ und tragen dort die Information ein, die Ihr im Bild sehen könnt. Verwendet die drei Einträge über dem markierten „Boardinformation holen“.

Hier sind die Einstellungen nochmal einzeln aufgeführt. Um an den COM-Port des FTDI-Adapters zu erhalten, muss der Adapter an den Computer angeschlossen werden. Ihr könnt dann im Gerätemanager den passenden Port sehen. In meinem Fall ist das COM7.

  • Board: Arduino Pro or Pro Mini
  • Prozessor: ATMega328P 3.3V 8MHz
  • Port: Der COM Port vom FTDI Adapter

Bei Nutzung eines Macs wählt ihr nicht den COM-Port aus, sondern direkt das Flash-Device aus der Liste.

Arduino flashen

Jetzt haben wir soweit alles vorbereitet, dass der Arduino programmiert werden kann. Dazu müssen wir den Programmer auf 3,3V umstellen. Auf der Platine ist dafür ein Jumper angebracht. Dieser kann entweder in der Stellung 3,3V oder 5V gesteckt werden. Wir müssen diesen für unseren Arduino auf 3,3V stellen.

Sketch laden

Nun können wir das eigentliche Sketch für den Sensor in den Arduino laden. Dazu öffnen wir die Arduino Software und klicken auf Datei –> Neu. Es öffnet sich ein leere Fenster, indem bereits ein paar Zeilen Code stehen. Der original Code stammt von Jérôme. Ich habe nur ein paar Zeilen modifiziert, damit alle 7 Sensoren angesprochen werden können. Anbei der Code, den Ihr kopieren müsst – ich habe Euch eine Datei fertig gemacht, dort findet Ihr den Link zu Jérôme und das von mir angepasste Sketch.

Achtung:

Der oben aufgeführte LINK läßt Mac-User verzweifeln. Es handelt sich dabei um die Datei „HB-UNI-SEN-CAP-MOIST.zip„, die bei Mac-Usern durch anklicken (entpacken) zu einer .cpgz Datei wird… Nach dem Entpacken sollten hier eigentlich zwei Textdateien entpackt werden. Daher für die Mac-User: Nehmt ein anderes Archivierungs-Tool als das Mac-eigene. Ich habe mich hier für „Keka“ entschieden. Damit klappte das Entpacken auch wie gewünscht.

Meine Modifikation für diesen Sensor ist in Zeile 43 und 44 zu finden. Dort legen wir fest, welcher Sensor angesprochen wird. Wir nutzen alle verfügbaren (übrigen) analogen Eingänge des Arduino. So können 7 Sensoren parallel betrieben werden.

Nun klicken wir im Fenster auf „Sketch“ –> „Überprüfen / Kompilieren“.

Wenn Ihr bis hier alles richtig gemacht habt, dann können wir das Programm nun auf die CPU schreiben.

Dazu klicken wir auf „Sketch“ –> „Hochladen“

Auch dieser Vorgang dauert etwas und Ihr könnt beobachten, wie die beiden roten LEDs am Programmer während des Vorgangs blinken.

Damit haben wir erfolgreich die Software auf das Gerät gespielt!

Erste Inbetriebnahme / Installation prüfen

Nachdem der Vorgang abgeschlossen ist, können wir überprüfen, ob alles richtig funktioniert. Dazu öffnen wir den seriellen Monitor. Das machen wir über „Werkzeuge“ –> „serieller Monitor“. Dort sollten dann die Sensorwerte und auch die Ein-/ Ausgehende Kommunikation zu sehen sein.

Die Ausgabe sollte ähnlich dem sein, was ihr auf dem Screenshot seht. Falls nur „wirre“ Zeichen auftauchen, stellt die Übertragungsgeschwindigkeit auf den korrekten Wert von 57600 Baud.

Noch eine kleine Info zur Prüfung der Solarzelle bzw. des Ladeverhaltens:

Der Laderegler besitzt zwei LEDs, die mit CR und OK beschriftet sind. Sobald die Solarzelle in die Sonne gehalten wird, glimmt die CR Leuchte rot auf. CR bedeutet in diesem Fall „Charge“. Die Helligkeit der Leuchtdiode schwankt mit dem Sonneneinfall. Sobald der Akku voll ist, wechselt die LED OK auf grün.

Anlernen an die CCU / Zusatzsoftware von Jérôme installieren

Damit der Sensor richtig angelernt werden kann, muss auf der CCU eine Zusatzsoftware installiert werden, die ebenfalls aus der Feder von Jérôme stammt. Die aktuelle Version dieses Sketches entspricht 2.7, unser Sketch ist jedoch noch nicht auf Version 2.7 angepasst. Verwendet daher bitte die Addon-Version 2.6 von Jérôme, die Ihr unter folgendem Link von GitHub herunterladen könnt.

Im unteren Bereich findet Ihr eine *.tgz-Datei. Danach begeben wir uns auf die Oberfläche der CCU (WebUI) und dort gehen wir auf Einstellungen –> Systemsteuerung –> Zusatzsoftware. Bei dem Punkt Zusatzsoftware installieren / aktualisieren wählen wir über „Datei auswählen“ die zuvor heruntergeladene Datei aus.

Die Zentrale macht daraufhin einen Neustart, der etwas länger als üblich dauert.

Anlernen an die CCU

Nachdem nun auch der letzte Schritt abgearbeitet ist, kann der neue Sensor an der CCU angelernt werden. Dazu aktivieren wir den Anlernmodus der CCU und klicken danach auf den Taster von unserem neuen Gerät. Die LED vom Sensor beginnt zu blinken. Nach kurzer Zeit sollte der Sensor im Posteingang zu finden sein. Dort können dann alle 7 Sensoren benannt und genutzt werden. Prüft die Funktion einfach unter „Status und Bedienung„.

Die Werte werden als „Rel. Luftfeuchtigkeit“ angezeigt. Das ist Systembedingt, spielt für die Funktionalität aber keine Rolle. Die Spannung, die zusätzlich übermittelt wird, ist die Spannung vom LiPo Akku. So kann der Ladestand der Batterie direkt kontrolliert werden.

Nun könnt ihr den Sendeabstand des Gerätes für einen Testlauf heruntersetzen. Geht dafür in die Geräteeinstellungen eures neuen Sensors und stellt die Übertragungsabstände auf 1 Minute. Um die Konfigurationsdaten zu übertragen, müsst ihr erneut den Konfigurationstaster am DIY-Sensor betätigen.

Jetzt nehmt ihr einen Feuchtigkeitssensor, drückt in fest in eure Handfläche (oder werft ihn ins Wasser) und wartet eine Minute ab, bis die Übertragung stattgefunden hat. In eurer Zentrale sollte nun ein recht hoher Feuchtigkeitswert auftauchen. Lasst den Sensor wieder los und wartet erneut eine Minute ab… Der Wert sollte auf 0% bzw. einen niedrigeren Wert zurückgehen.

Denkt daran, den Sendeabstand danach wieder zu reduzieren. Andernfalls wird die Solarzelle nicht genügend Energie liefern, um den Arduino dauerhaft zu betreiben.

Achtung:

Der Hersteller der Feuchtigkeitssensoren rät zu einer Kalibrierung der Sensoren, um plausible Werte zu erhalten. Dafür werden die Sensoren einmal „trocken“ und einmal „naß“ betrieben und die jeweils ermittelten Sensordaten als Höchst- bzw. Tiefstwerte eingetragen. Wie genau das funktioniert, erkläre ich euch in einem weiteren Bericht.

Energie Sparen

Achtung! Bei dieser Platine darf der LOD vom Arduino nicht ausgebaut werden, da dieser benötigt wird. Da wir mit einer Solarzelle arbeiten, die an einen Festspannungsregler mit 5V angeschlossen ist, geben wir mit 5V auf den RAW-Pin vom Arduino. Der LOD vom Board selbst erzeugt dann die benötigten 3,3V für das Funkmodul und die Sensore. Damit wir den Akku auch bei schlechteren Wetter etwas entlasten können, kann die Betriebs-LED vom Arduino entfernt werden. Diese ist der größte Stromverbraucher.

Das kann entweder mit einem Schraubendreher (vorsichtig!) oder mit einem Lötkolben erfolgen. Nach mehrmaligen Umsetzungen empfehle ich euch eher die Nutzung eines Lötkolbens, da die Bauteile in der Nähe doch schnell bei Einsatz eines Schraubendrehers beschädigt werden könnten.

Dieser Artikel ist dann doch sehr umfangreich geworden! Es sind noch ein paar Punkte offen, auf die ich gerne in separaten Artikeln eingehen möchte, da die Punkte auch für andere Homebrew Projekte von Relevanz sind. Da ist zum einen der Punkt, das teilweise CC1101 mit falscher Frequenz aus China kommen. Diese können Dank pa-pa durch ein Skript modifiziert werden, sodass auch diese Sensoren angelernt werden können. Ebenso gehe ich in einem weiteren Bericht auf die Kalibrierung der Sensoren ein.

Es wird in den nächsten Tagen eine weiteres Projekt folgen, damit auch Ventile angesteuert werden können, um so eine vollständige Gartenbewässerung aufzubauen. Werner wird das ganze System bei sich im Garten installieren und wir werden Euch auch zeigen, wie Ihr optimal Programme schreibt, sodass auch auf Regen eingegangen werden kann, um die Bewässerung zu steuern!

41 Kommentare
  1. Avatar
    Andreas sagte:

    Hi,
    Ich habe ein Problem mit dem Bausatz.
    Meine Einstellungen.
    Wake on Radio : OFF
    Sende intervall 60 Minuten.
    LED ausgelötet.

    Ich lade den Akku voll auf
    Nach ca 3-4 Tagen ist Akku leer. Es gibt war wenig Sonne im Moment, aber das sollte nicht so sein.
    Wo kann ich nach dem Problem suchen,

    Andreas

    Antworten
  2. Avatar
    Stefan sagte:

    Hallo Sebastian

    Ich würde gerne den Bodenfeuchte und Temperatur SMT50 (http://www.truebner.de/smt50) der Firma Truebner verwenden. Dieser Sensor liefert sowohl für die Feuchtigkeit als auch die Temperatur ein Signal von 0 – 3V. Zudem benötigt er eine Stromversorgung von 3.3V – 30V.
    Was meinst Du, wäre eine entsprechende Anpassung einfach möglich?

    Gruss und besten Dank im Voraus
    Stefan

    Antworten
  3. Avatar
    Manfred sagte:

    Hallo zusammen,

    ich habe den Sketch genommen der unter „Sketch laden“ als Download (https://technikkram.net/2019/05/anleitung-diy-feuchtigkeitssensor-fuer-gartenbewaesserung-bausatz-homematic) angeboten wird. Kann es sein, das die Datei fehlerhaft ist?

    Wenn ich diesen Sketch auf den Arduino lade, wird alles soweit richtig erkannt, aber wenn die Sensoren im Wasser stehen, zeigt mir die Homematic an das die Luftfeuchte auf 1% gesunken ist. Nehme ich den Sensor wieder aus dem Wasser und mache in trocken, zeigt er mir wieder 28% an. Ist bei allen Sensoren so. Mal davon abgesehen, das der ein oder andere auf 0% oder auf 2% runter geht.

    Hat jemand einen funktionierenden Sketch?

    Grüße
    Manfred

    Antworten
  4. Avatar
    Andreas sagte:

    Ich würde mir gern die Schaltpläne und Layouts aus dem angeboten Download anschauen. Bitte um Tipps mit welchen Programmen die Dateien lesbar sind. Danke

    Antworten
  5. Avatar
    Manfred Glanemann sagte:

    Hallo,
    ich möchte diese Platine in eine kleine Unterverteilung einbauen. Somit benötige ich weder Solarzelle noch Laderegler usw..
    Kann ich die Schaltung ohne diese Dinge betreiben? Wenn ja wie?

    Grüße
    Manfred Glanemann

    Antworten
  6. Avatar
    Andreas^ sagte:

    Hi,

    Ich habe den Aufbau durch, bekomme den Sensor nicht angelernt.
    Das Freq. Sketch habe ich schon mehrfach laufen lassen und denn mit dem Sketch aus dem Zip getestet.

    Done: 0x2165BA – 0x21667A
    17:40:16.443 -> Calculated Freq: 0x21661A
    17:40:16.443 -> Store into config area: 661A

    17:54:36.438 -> Done: 0x21659A – 0x21668A
    17:54:36.438 -> Calculated Freq: 0x216612
    17:54:36.438 -> Store into config area: 6612

    -> Done: 0x2165BA – 0x21667A
    18:16:51.282 -> Calculated Freq: 0x21661A
    18:16:51.282 -> Store into config area: 661A

    Beim Anlernen beikomme ich

    18:35:41.162 -> AskSin++ V4.1.0 (Jul 17 2019 18:35:14)
    18:35:41.162 -> Address Space: 32 – 319
    18:35:41.162 -> CC init1
    18:35:41.162 -> CC Version: 14
    18:35:41.198 -> – ready
    18:35:41.442 -> iVcc: 3372
    18:35:41.442 -> eVcc: 3735
    18:35:41.442 -> Config Freq: 0x21661A

    ……

    8:36:57.154 -> debounce
    18:36:57.227 -> pressed
    18:36:57.368 -> released
    18:36:57.368 -> <- 1A 09 84 00 F31103 000000 11 F3 11 4A 50 43 41 50 4D 30 30 30 33 70 07 01 01

    und dann ein paar ignore

    Plugin 2.6 ist installiert.

    Ideen ?

    Danke

    Antworten
      • Avatar
        Andreas sagte:

        Klar hatte ich das gemacht.
        Das gepachte Skript von der Anleitung drauf.
        Anlernen geht nicht.
        Freq Test drauf. Über seriellen Monitor auf die Freq gewagte, dann das erste wieder drauf.
        Dann per seriellen Monitor kommen oben die Meldungen und anlernen geht nicht.
        Das ganz jetzt 4 mal.

        Die obern 3 Logs sein von 3 Versuchen, der letzte mit dem gepatched Sketch.

        Antworten
          • Avatar
            Andreas sagte:

            Denke schon. Kein Kurzschluss, Masse und Antenne kommen auf dem CC1101 an.
            Ohne Antenne, sagt er finde nichts.
            Zentrale ist ca 1m entfernt, von dem Platz konnte ich schon viele Module anlernen.
            Ist es tatsächlich so das man 2.6 er Add-on in der CCU braucht, wie in der Anleitung? Er bietet ein 2.9 Update an.
            Ich habe jetzt mal die Sensoren abgebaut um mit die Antenne anzusehen, anlernen sollte man doch auch ohne können oder ?

          • Avatar
            Andreas sagte:

            Danke, ich habe es gefunden. Pin2 des Sendemodul wars, messen mit Druck auf der spitzte wars ok. Nur ohne Druck war kein Kontakt.

  7. Avatar
    Uwe sagte:

    Hallo Sebastian,
    bei meinem Bausatz will partout der Anlernvorgang nicht beginnen. Script ist aufgespielt, Akku geladen, nach Arduino-Reset flackert die Sensor-LED etwas, bevor sie 6x blinkt. Dann tut sich nichts mehr, egal ob man kurz oder lang auf den Taster drückt. Alle Lötpunkte mehrfach auf Kontakt und Brücken geprüft, wie auch den Sitz der Bauteile. Was kann ich tun?

    Antworten
    • Avatar
      Gerd sagte:

      Egal welcher von beiden,
      einfach runterscrollen, dann kommt das Schutzmodul
      und die Beschaltung dazu.

      Ich frage mich nur, warum keinen LiPo Lader,
      da ist der Schutz drauf und einen – nach 5V Wandler dahinter.
      Das Ergebnis ist das Gleiche, nur billiger.

      Antworten
  8. Avatar
    Thomas Schüsselbauer sagte:

    Hallo,

    nachdem ich den Bausatz zusammengebaut hatte, konnte ich diesen nicht an meine Homematic anlernen.
    Ich habe alle Lötstellen kontrolliert und nach allen Kontrollen war klar, dass das Funkmodul das Problem darstellte. Das Auslösen des Moduls hätte sehr wahrscheinlich die Platine beschädigt.
    Nach einer Recherche im Internet bin ich auf einen Artikel gestoßen, dass es Funkmodule gibt, die auf der falschen Frequenz senden. Leider war in diesem Bausatz ein solches Modul.
    Auf der Technikkramseite findet sich ein toller Artikel, in den beschrieben wird, wie die Frequenz des Funkmoduls verstellt werden kann:
    https://technikkram.net/2019/05/asksinpp-diy-fehler-anlernen-nicht-moeglich-cc1101-frequenz-automatisch-anpassen
    Es hat funktioniert und das Gerät konnte an die Homematic angelernt werden.
    Ein Tip für alle Betroffenen ;-))

    Mit sonnigen Grüßen aus Regensburg

    Thomas

    Antworten
    • Avatar
      Gerd sagte:

      Eine mögliche Lösung!

      Besser und dauerhafter ist jedoch,
      wenn man löten kann, die beiden Kondensatoren am Quarz durch 12…13pF Kondensatoren Bauform 0402 zu ersetzen.

      Ich habe meine 10 CC1101 Module so gerettet

      Antworten
          • Avatar
            Manfred sagte:

            Also wenn der Quarz oben ist, sind es die beiden waagerechten, richtig? Rechts ca. auf 4 Uhr und links auf ca. 7 Uhr. Der in der Mitte hat damit nichts zu tun, oder?

          • Avatar
            Gerd sagte:

            Richtig, die 4 Uhr und 7 Uhr sind es.
            Was noch zu versuchen wäre, ich hatte leider alle Module schon „repariert“, die 2 Kondensatoren ablöten (Zinnbatzen drauf und los sind die), nichts einlöten und probieren ob es ohne geht.
            Ansonsten neue C’s rein.

  9. Avatar
    Frithof sagte:

    Hallo Habe den Sensor mit 7 Sensoren aufgebaut und würde ihn gerne in FHEM einbinden.
    Leider wird er dort nur als „unknown“ erkannt.
    Gibt es schon ein fertiges Perl script zum einbinden und wenn ja, wo kann ich es finden?

    Antworten
  10. Avatar
    Christian sagte:

    Bei mir reicht die Leistung, der mitgelieferten Solarzelle, in keinster Weise aus um den Akku aufzuladen. Ein voll geladener Akku ist nach 2-3 Tage, bei direkter Sonneneinstrahlung, leer. Die Zelle liefert maximal 70 mA Strom. Entweder ist meine Zelle defekt oder die Dimensionierung ist unzureichend. Derzeit verwende ich eine deutlich größere Zelle. Damit funktioniert es.

    Antworten
    • Sebastian
      Sebastian sagte:

      Hallo Christian, die Zelle ist so ausgelegt, dass diese ca. 3 Wochen die Platine ohne Sonne betreiben kann. Das habe ich zudem auch empirisch bestätigt. Hast du evtl. Eine Brücke oder ähnliches in deiner Schaltung ?

      Antworten
  11. Avatar
    Andreas sagte:

    Die in diesem Projekt (Anleitung DIY Feuchtigkeitssensor für Gartenbewässerung Bausatz Homematic ) verwendete Platine könnte doch ebenso als Mehrfachthermometer verwendet werden!? … mit entsprechenden Sketchen aus dem anderen Projekt … oder?

    Antworten
      • Avatar
        Andreas sagte:

        Danke Sebastian für die schnelle Reaktion. Ja, die andere Platine kenne ich. Mich begeistert die Passform in das witterungsgeschütze Gehäuse! Letztlich ist aber die Verschaltung von Arduino, Funkelement und Sensor äquivalent!? ByTheWay wo finde ich bitte die jeweiligen Schaltbilder. Ich hätte gern die Unterschiede verstanden. Danke

        Antworten
  12. Sebastian
    Sebastian sagte:

    ..wir arbeiten aktuell an einer kleinen Korrektur! Michael hat den Sensor bekommen und baut diesen gerade auf. Alles was ihm auffällt, wird er überarbeiten! Sorry dafür, gerade bei so komplexen Anleitungen schleichen sich leider Fehler ein.

    Antworten
  13. Avatar
    Christian sagte:

    Ich habe ein Problem nach dem Aufbau. Bin nach der Anleitung vorgegangen. Beim seriellen Monitor sieht alles gut aus (Alle Kanäle zeigen Werte an). Nach der Frequenzkorrektur des C1101 klappte auch das Anlernen an der ccu. Hier sind aber nun alle Werte 0 (Spannung und Kanalwerte). Ändern der Intervallzeit funktioniert. Von daher sehe ich kein Problem bei der Kommunikation. Warum bekomme ich keine Sensorwerte?

    Antworten
    • Avatar
      Christian sagte:

      Fehler gefunden. Beim JP-HB-Devices Addon Version 2.7 ist die Telegrammübertragung geändert worden. Dieses Sketch ist damit nicht mehr kompatibel. Lösung: entweder Sketch aktualisieren oder Version 2.6 benutzen.

      Antworten
      • Sebastian
        Sebastian sagte:

        Hallo,

        wir haben die Beshreibung bearbeitet, diese hier benötigt die Version 2.6 – wir erstellen gerade aber eine neue Anleitung, die dann auch die Version 2.7 unterstützt.

        Antworten
    • Sebastian
      Sebastian sagte:

      oje… das würde ich nicht machen. Wer garantiert Dir denn, dass der Sensor in 5 oder 10 Jahren noch funktioniert. Außerdem wird die Leitung auch nicht betonfest sein…

      Antworten

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere die Speicherung der Daten.