Projekt Gartenbewässerung - Anfänger benötigt Hilfe

Hallo zusammen,

ganz kurz zu mir. Ich bin sehr frisch in der Arduino Welt. Vor über 10 Jahren habe ich mein Studium der Informationstechnik abgeschlossen, in dem ich allerdings die Elektronik/Elektrotechnikeinheiten aufs Minimum reduziert und mich eher der SW-Entwicklung hingegeben habe. Sprich Spannungsregelungen, Maschenregeln usw. habe ich alles schon gehört, nur ohne praktischen Nutzen ist das Wissen auch schnell wieder verflogen.

Durch einen IoT Hackathon bin ich nun allerdings wieder angefixt worden, mich auch wieder etwas dem Hardwarebereich anzunähern und die Arduinoumgebung bietet hier ja schnelle Erfolgserlebnisse und bei Bedarf tiefergehende Projekte.

Mein erstes Projekt (nach den Arduino Starter Set Dingen) soll eine automatisierte Bewässerung für unseren Garten werden. Nach längerem Suchen, Stöbern und Lesen habe ich eine Idee, die für mich sinnvoll erscheint, aber bevor ich sie umsetze, wollte ich bei euch Profis nachfragen, ob ich nicht doch gedankliche Fehler in der Rechnung habe…

Gedacht ist, dass ich eine Pumpe in meine Regentonnen (zur Zeit ca. 600l) stecke, den Ausfluß auf 2 Schläuche verteile und mittels Magnetventile steuere, durch welchen Schlauch wann und wie lange das Wasser fließen soll.

Also die Bewässerung soll:

  • 2 Zonen (Beete) automatisiert und zeitgesteuert bzw. manuell bewässern (weitere Sensorik wie Feuchtigkeitssensoren usw. kommen später)
  • über eine LCD anzeigen, ob und welches Beet gerade bewässert wird
  • über einen Button ein Programm (erst Beet 1 für 10 Min. dann Beet 2 für 10 Min. oder manuell Beet 1 oder 2) starten

Die angedachte Hardware dazu:

  • Arduino Uno/Nano/Mini Pro als Haupteinheit
  • ESP8266 um die Uhrzeit per NPT/SNPT zu erfragen
  • ein 1602 LCD Display mit I2C Modul um die Anzahl der benötigten Pins am Uno zu reduzieren
  • ein Button für die Auswahl der Programme (hier benötige ich wohl noch einen Pull-Down Widerstand?)
  • Relais Module zur Ansteuerung der Magnetventile
  • Magnetventile für die Wasserzufuhr (hier habe ich bereits 3 bestellt mit 12V 4A)
  • 2 (Computer-)Netzteile 12V 4A zur Verbindung Relais und Magnetventile

Was mir aktuell noch Sorgen bereitet ist die Pumpe für die Regentonnen. Ich muss gestehen, dass ich davon absolut gar keine Ahnung habe. Wenn es Pumpen geben sollten, die ich anschalten kann und solange die Magnetventile geschlossen sind nicht arbeitet, wäre es perfekt. Ansonsten wäre meine Idee, die Pumpe über eine Funksteckdose anzuschließen und per 433Mhz Modul am Arduino kurz nach dem Öffnen eines Magnetventils zu starten. Habt ihr bessere Vorschläge?

So, ich denke das wars. Ich hänge noch eine Grafik an, die vielleicht noch ein paar Ungewissheiten beseitigt. Ich denke von der Softwareseite traue ich mir das Ganze zu, nur bei der Hardware bin ich mir absolut nicht sicher und wäre froh über jeden Kommentar mit Ideen, Tips, Verbesserungen, No-Gos usw. :slight_smile:

Viele Grüße
Lars

Das Projekt klingt interessant. Welche Fragen hast du denn konkret? Statt Relais + Treiber (der Arduino ist nur mit max. 40mA belastbar) würde ich MOSfets nehmen. Der BUZ11 wäre ein Beispiel.

Ansonsten solltest du einen Ablaufplan machen, der alle Bedingungen und Aktionen enthält. Und solltest schauen welche Sensoren du für alle wichtige Größen, wie den Füllstand der Tonne, verwendest.

Orandus: - 2 Zonen (Beete) automatisiert und zeitgesteuert bzw. manuell bewässern (weitere Sensorik wie Feuchtigkeitssensoren usw. kommen später) - über eine LCD anzeigen, ob und welches Beet gerade bewässert wird - über einen Button ein Programm (erst Beet 1 für 10 Min. dann Beet 2 für 10 Min. oder manuell Beet 1 oder 2) starten

Die angedachte Hardware dazu: - Arduino Uno/Nano/Mini Pro als Haupteinheit - ESP8266 um die Uhrzeit per NPT/SNPT zu erfragen - ein 1602 LCD Display mit I2C Modul um die Anzahl der benötigten Pins am Uno zu reduzieren - ein Button für die Auswahl der Programme (hier benötige ich wohl noch einen Pull-Down Widerstand?) - Relais Module zur Ansteuerung der Magnetventile - Magnetventile für die Wasserzufuhr (hier habe ich bereits 3 bestellt mit 12V 4A) - 2 (Computer-)Netzteile 12V 4A zur Verbindung Relais und Magnetventile

Das ist sicher alles mittels Arduino lösbar. Anfangen solltest du mit einem UNO, um in die Programmierung rein zu kommen. Und damit einzelne Funktionen aufbauen und so nach und nach dein Projekt umsetzen. Für die "Zeitsteuerung" sollte in deinem Fall eine RTC am Arduino reichen. Wenn du die DS3132 einsetzt, ist es allemal genau genug.

Was mir aktuell noch Sorgen bereitet ist die Pumpe für die Regentonnen. Ich muss gestehen, dass ich davon absolut gar keine Ahnung habe. Wenn es Pumpen geben sollten, die ich anschalten kann und solange die Magnetventile geschlossen sind nicht arbeitet, wäre es perfekt. Ansonsten wäre meine Idee, die Pumpe über eine Funksteckdose anzuschließen und per 433Mhz Modul am Arduino kurz nach dem Öffnen eines Magnetventils zu starten. Habt ihr bessere Vorschläge?

Hierfür kann ich die ein sog. Hauswasserwerk empfehlen, welches selbständig einen Druck aufbaut, der bei Entleerung durch die Ventile, wieder hergestellt wird. Die Pumpe läuft damit nur, wenn der Druck im eigenen Kessel wieder aufgebaut werden muss. Somit benötigst du keine separate Pumpensteuerung.

Nur ein Button? Zum Durchschalten der Programme? die würden dann immer sofort starten. ich würde da wenigstens zwei Button vorsehen (Auswahl + Start/Stop (wenn Prog aktuell läuft). Das geht auch über einen Analog-Pin mit mehreren Buttons zu regeln. Schau dir mal folgendes an:

http://invisibletower.de/2012/sainsmart-lcd-keypad-library/

Im Prinzip schalten die Tasten eine variablen Spannungsteiler, der dann über den Analogpin abgefragt wird. Jede Taste für zu einem anderen Spannungswert, dadurch lässt sich das unterscheiden.

Hallo zusammen,

vielen Dank für eure Antworten.

@Maha76: An dem Ablaufplan arbeite ich gerade. Wobei ich erwarte, dass sich dieser auf Grund meiner wenigen Erfahrung mit der HW und SW, im Laufe der eigentlichen Entwicklung noch ändern wird :-)

Meine konkrete Frage war erst einmal nach der Gartenpumpe. Und natürlich, ob das Gesamtbild, wie ich es mir vorstelle realisierbar ist.

Deinen Einwand, die Relais durch MOSFETs zu ersetzen muss ich noch verstehen. Glaubst du, dass der Arduino (werde wohl den UNO hernehmen) nicht genügend Strom liefern kann? Mit FETs kenne ich mich gar nicht aus, da muss ich noch etwas recherchieren...

@HotSystems: Super Idee mit dem DS3231. Ich hatte schon einmal nach RTCs geschaut (kurz auf Amazon...) und habe da eher negative Rezensionen gelesen (Batterie verbaut, die Platine will sie aber laden -> Brandgefahr usw.) Diese waren aber alle nicht auf DS3231 Basis verbaut. Also noch eine Bestellung herausschicken :-)

Das würde mir auch den Einbau des ESP8266 ersparen, wobei ich mir dann dadurch spätere IoT Möglichkeiten nehmen würde. Mal schauen, was ich da mache.

Mit dem Hauswasserwerk hast du mir wahrscheinlich genau die Antwort geliefert, nach der ich gesucht habe. Die Anforderungen: Soll dauerhaft eingeschaltet bleiben, aber nur pumpen, wenn eins der Ventile offen ist und: Soll nur pumpen, wenn noch genug Wasser in den Tonnen ist, scheinen sie abzudecken. Vielen Dank!

@vieleDinge: Ich hatte vor, nach Drücken des Schalters einen Timer (3-4 Sekunden) zu starten, der nach Ablauf (wenn der Button nicht noch einmal gedrückt wird) das eingestellte Programm startet. Wird der Schalter in dieser Zeit noch einmal gedrückt, wird auf das nächste Programm verwiesen und der Timer beginnt wieder kurz zu laufen.

Das eingestellte und bald startende Programm wollte ich das Display ausgeben. Einen zweiten Schalter zu verbauen (so wie du es vorgeschlagen hast) ginge natürlich auch und würde mir wohl etwas Arbeit im Code ersparen.

Also vielen Dank, für eure Ideen/Infos. Da ich aktuell noch auf die meisten Teile warten muss, habe ich ja noch genug Zeit, mich weiter in die Thematik einzulesen :-)

Viele Grüße, Lars

Orandus: Deinen Einwand, die Relais durch MOSFETs zu ersetzen muss ich noch verstehen. Glaubst du, dass der Arduino (werde wohl den UNO hernehmen) nicht genügend Strom liefern kann? Mit FETs kenne ich mich gar nicht aus, da muss ich noch etwas recherchieren...

Einen Transistor brauchst du in jedem Fall, da der Atmega nicht genug Strom für die Relais liefert. Die meisten Relaisplatinen haben Transistoren bzw. Optokoppler "onboard", somit hast du auf den Platinen die nötige "Verstärkung" drauf. Aber in deinem fall reicht ein Transistor evtl. Mosfet zum Schalten der Ventile aus.

@HotSystems: Super Idee mit dem DS3231. Ich hatte schon einmal nach RTCs geschaut (kurz auf Amazon...) und habe da eher negative Rezensionen gelesen (Batterie verbaut, die Platine will sie aber laden -> Brandgefahr usw.) Diese waren aber alle nicht auf DS3231 Basis verbaut. Also noch eine Bestellung herausschicken :-)

Das würde mir auch den Einbau des ESP8266 ersparen, wobei ich mir dann dadurch spätere IoT Möglichkeiten nehmen würde. Mal schauen, was ich da mache.

Der DS3231 wird in der Tat oft mit Batterie und Ladeschaltung geliefert. Dann muss man den Widerstand oder die Diode entfernen. Einen ESP8266 kannst du später immer noch einsetzen.

Mit dem Hauswasserwerk hast du mir wahrscheinlich genau die Antwort geliefert, nach der ich gesucht habe. Die Anforderungen: Soll dauerhaft eingeschaltet bleiben, aber nur pumpen, wenn eins der Ventile offen ist und: Soll nur pumpen, wenn noch genug Wasser in den Tonnen ist, scheinen sie abzudecken. Vielen Dank!

Es gibt diese Hauswasserwerke auch mit Trockenlaufschutz. Den Wasserstand kannst du ja unabhängig prüfen und die Pumpe dann per Funk ausschalten.

Ich hatte vor, nach Drücken des Schalters einen Timer (3-4 Sekunden) zu starten, der nach Ablauf (wenn der Button nicht noch einmal gedrückt wird) das eingestellte Programm startet. Wird der Schalter in dieser Zeit noch einmal gedrückt, wird auf das nächste Programm verwiesen und der Timer beginnt wieder kurz zu laufen.

Das eingestellte und bald startende Programm wollte ich das Display ausgeben. Einen zweiten Schalter zu verbauen (so wie du es vorgeschlagen hast) ginge natürlich auch und würde mir wohl etwas Arbeit im Code ersparen.

Also vielen Dank, für eure Ideen/Infos. Da ich aktuell noch auf die meisten Teile warten muss, habe ich ja noch genug Zeit, mich weiter in die Thematik einzulesen :-)

Mit mehr Tastern wird es def. einfacher.

Hallo HotSystems,

ich habe mir ein Relaismodul bestellt, auf dem bereits 4 Relais mit weiteren Bauteilen bestückt sind. Keine Ahnung, ob da bereits die benötigten Transistoren/Oktokoppler mit drauf sind. Sind hier im Forum Links zu Onlineshops erlaubt? Dann könnte ich das Modul hier posten. Diese Lösung schien mir als Anfänger ersteinmal die Einfachste zu sein.

Habe gerade noch 3 DS3231 Module bestellt. Zumindest auf dem Produktbild war eine LIR2032 zu sehen, die ja aufladbar ist. Ich bin gespannt, was wirklich verbaut ist. Zur Not wird sie ausgetauscht. Aber auch hier heißt es wieder: warten, warten, warten...

Die Hauswasserwerke schaue ich mir heute Abend genauer an. Und die Wasserstandsmessung wird dann zusammen mit Feuchtigkeitssensoren für die Erde, Regensensoren usw. die Ausbaustufe, wenn die Basis einmal läuft :-) Es soll ja nicht langweilig werden.

Vielen Dank und viele Grüße, Lars

Orandus: ich habe mir ein Relaismodul bestellt, auf dem bereits 4 Relais mit weiteren Bauteilen bestückt sind. Keine Ahnung, ob da bereits die benötigten Transistoren/Oktokoppler mit drauf sind. Sind hier im Forum Links zu Onlineshops erlaubt? Dann könnte ich das Modul hier posten. Diese Lösung schien mir als Anfänger ersteinmal die Einfachste zu sein.

Ja, Links sind erlaubt, sind ja nur als Info gedacht.

Habe gerade noch 3 DS3231 Module bestellt. Zumindest auf dem Produktbild war eine LIR2032 zu sehen, die ja aufladbar ist. Ich bin gespannt, was wirklich verbaut ist. Zur Not wird sie ausgetauscht. Aber auch hier heißt es wieder: warten, warten, warten...

Dann sollte das klappen.

Die Hauswasserwerke schaue ich mir heute Abend genauer an. Und die Wasserstandsmessung wird dann zusammen mit Feuchtigkeitssensoren für die Erde, Regensensoren usw. die Ausbaustufe, wenn die Basis einmal läuft :-) Es soll ja nicht langweilig werden.

Wasserstandsmessung ist wieder eine Sache für sich.

Ich löse es mit einem "Wasserdichten" Ultraschall-Sensor. Das funktioniert sehr gut. Der muss aber "freie Sicht" auf die Wasseroberfläche haben.

HotSystems: Ja, Links sind erlaubt, sind ja nur als Info gedacht.

Dann mal los, hier der Link:

http://www.lightinthebox.com/4-channel-5v-relay-module-black-and-blue_p1313525.html

HotSystems: Wasserstandsmessung ist wieder eine Sache für sich.

Ich löse es mit einem "Wasserdichten" Ultraschall-Sensor. Das funktioniert sehr gut. Der muss aber "freie Sicht" auf die Wasseroberfläche haben.

Interessanter Ansatz. Das heißt, du hast den Sensor versenkt und er schallt nach oben? Was mir als erstes in den Sinn kam, war auch der US-Sensor, allerdings schwimmend auf der Wasserobfläche mit Schall nach unten. Aber wie gesagt, ohne weitere Ahnung und ohne groß nachgedacht zu haben.

HotSystems: Wasserstandsmessung ist wieder eine Sache für sich.

Ich löse es mit einem "Wasserdichten" Ultraschall-Sensor. Das funktioniert sehr gut. Der muss aber "freie Sicht" auf die Wasseroberfläche haben.

Hast Du da mehr Infos dazu? Sowas in der Art würde mir als Füllstandsmessung für einen Wassertank weiterhelfen.

Den Ultraschallsensor befestigst du über der Tonne so dass er nach unten aufs Wasser schaut aber nicht nass werden kann, also idealerweise oberhalb des Überlaufs und unter einer Schutzkappe. Als Spritzwasserschutz kann man auch die Platine mit Wachs schützen- ich hab damit schon gute Erfahrungen gemacht. Er sollte nicht zu nah am Rand sein, da es zu Reflektionen und damit Fehlmessungen kommen kann...

Ein Schwimmer wäre aber auch möglich.

MOSfets sind simpel- gängig sind N-Kanal- die schalten Masse durch... MOSfets brauchen kaum Strom um durchzusteuern, sollten beim Einsatz am Microcontroller aber schon bei 5V voll durchsteuern- also TTL- kompatibel sein- der BUZ11 ist einer von tausenden ( er kann bis 50A schalten und es fällt am MOSFet kaum Leistung, also Wärme ab und er ist billig- darum nutze ich den gern)... auf Microcontroller.de hat sich mal jemand die Mühe gemacht und eine sehr detailiert und umfangreiche Tabelle erstellt.

Ein MOSfet braucht am Eingang eine klare Ansage- sprich, wenn er sperren soll muss der Eingang auch auf Masse gezogen werden... Der Ausgang eines Microcontrollers schaltet ja eigentlich HIGH oder LOW, von daher könnte man eigentlich auf einen Pulldown- Widerstand verzichten- aber da können bestimmt andere noch mehr dazu sagen.

Ein MOSfet braucht quasi keinen Strom um durchzuschalten- man müßte somit eigentlich auch keinen Widerstand davor schalten- um seinen MC für den Fall der Fälle zu schützen sollte man immer einen Widerstand davor schalten (5V / 0,04A = 125 Ohm) also 200Ohm aufwärts schützt auch, wenn man auf der Platine einen Kurzschluß hat.... Ich habe aber auch schon in einfachen Projekten auf den Widerstand verzichtet und das funktioniert....

Orandus: Dann mal los, hier der Link: http://www.lightinthebox.com/4-channel-5v-relay-module-black-and-blue_p1313525.html

Diese Relais sind ok, sind inkl. Transistor und Optokoppler.

Interessanter Ansatz. Das heißt, du hast den Sensor versenkt und er schallt nach oben? Was mir als erstes in den Sinn kam, war auch der US-Sensor, allerdings schwimmend auf der Wasserobfläche mit Schall nach unten. Aber wie gesagt, ohne weitere Ahnung und ohne groß nachgedacht zu haben.

Nein, wie schon von MaHa76 geschrieben, kommt der Sensor in einem Abstand von ca. 20 cm oberhalb der Wasseroberfläche in den Tank. Der Sensor (Wasserdicht) ist mit einem Kabel (ca. 1,5 m) mit der Platine verbunden, die außerhalb des Tanks befestigt werden kann. Somit ist alles schön "Wasserfest" zu montieren.

Hier der Link zum Sensor.

Wasserdichetr US-Sensor

Bei mir ist der Sensor in einer Wasserzisterne moniert. Die Platine im Gartenhaus und sendet per 433 MHz am ProMini den Wasserstand ins Haus. Diese Konstruktion funktioniert jetzt schon seit ca. 1 Jahr problemlos. Ich könnte, wenn es nötig ist, bei niedrigem Wasserstand das Hauswasserwerk abschalten.

@vieledinge: Siehe Link oben.

Hi,

danke für das Kontrollieren der Relais.

Ich habe in der Mittagspause mal versucht, meine Gedanken über den möglichen Programmablauf per Pseudocode herunterzuschreiben. Viele Sachen sind mir noch unklar (vor allem das ganze time-Zeug…) aber so weiß ich zumindest schon einmal, wo ich weiter nachlesen muss. Natürlich ist der Ablaufplan nur quick&dirty und wird weiter angepasst.

/*
 * IrrigationControl
 * 
 * This script should control two electric water valves (for two flower beds) via relais. 
 * 
 * When a defined time of a day has reached, the watering should start at zone one, stop it after 15 minutes and do the same for zone two. 
 * (If the water pump is strong enough (have to test it), both zones could be watered at the same time)
 * 
 * It should be possible to start watering for one or both zones manually by pressing (a) button(s) and choosing the "program" / zones via LCD   * 
 */



const unsigned long wateringTime = xyz;     // at which time should the watering begin
const long wateringDuration = 900000;       // 15 minutes watering time value in milliseconds

bool timeToWater;     //  true when the defined time (e.g. 5pm) is reached
bool statusValve_1;   //  true = valve 1 is open, false = valve 1 is closed
bool statusValve_2;   //  true = valve 2 is open, false = valve 2 is closed
bool statusDS3231;    //  true when DS3231 sends data, false when not. Time for a new battery :-)
bool manualWatering;  //  true when watering was started manually, false when starting by program

int wateringZone;     //  defines the zone that should be watered (0 = left flower bed, 1 = right flower bed, 3 = both flower beds)

long timeToNextWatering; // milli seconds to next watering
long wateringStartedAt;  // timestamp when the watering was started



void setup() {
  // put your setup code here, to run once:

  // initialize variables, in-output pins on Arduino and so on..

  // get the current time from DS3231, if not sending set statusDS3231 to false
  
  // send some status values to LCD  
}

void loop() {

  // check button(s) state
  // if button for manual watering was pressed 
  if(buttonActive){
    // get selected zone(s), write it to wateringZone and call startWatering method  
    // set manualWatering = true
  }

  // check DS3231 every 15 minutes, set statusDS3231 to true or false
  // don't know, what to do with the time. Saving it, start another timer... have to check that
   
  // if RTC is running 
  if (statusDS3231){
    //  if watering is running...
    if (statusValve_1 || statusValve_2){
      // check, if the timer has expired (compare wateringStartedAt with wateringDuration)
      //
      // if time has expired, check if it was a manual watering: 
      //    if yes and the first zone is currently running, stop it via stopWatering method and check if the second zone should be watered, too. 
      //    if it was an automatically watering, and if zone 1 is currently running, stop it via stopWatering method and start watering in zone 2. 
      //
      // if watering is running and time has not expired, send active zone and remaining watering time to LCD
    }else{
      // check, if it's time to water with calling estimateTimetoNextWatering method
      // if it's time to water
      if(timeToWater){
        // call startWartering zone 1 and after that zone 2 
        // set timeToWater to false 
        // set manualWatering = false
      }else{
        // send remaining time until next watering to LCD  
      }  
    }   
  }else{
    // set error message to LCD
    // manual watering should be possible anyway  
    // to be on the safe side, call stopWatering method for all zones
  }
}

void startWatering(int zone){
  // open watering valve/ related relais for comitted zone
  // Set statusValve_x to true
  // write current Arduino timestamp into wateringStartedAt
}

void stopWatering(int zone){
  // close watering valve/ related relais for comitted zone
  // Set statusValve_x to false
}

void estimateTimetoNextWatering(){
  // do something for estimate time to next watering
  
  // if time is reached
  if(time to watering is reached){
    // set timeToWater = true
  }   
}

Viele Grüße,
Lars

Willst du nur rein nach zeitlichen Muster gießen? Wenn man selbst gießt schaut man ja z.b. ob die Erde trocken ist, oder man weiß auf Grund von Helligkeit, Wärme, Luftfeuchte... wie viel Wasser wohl nötig sein würde...

Willst du überwachen ob die Pumpe auch wirklich arbeitet? Tipp: Der Schlach wird kälter wenn Wasser fließt....

Hallo Maha,

im ersten Anlauf werde ich komplett ohne Sensoren bewässern. Sprich pro Beet eine bestimmte Zeit (wenn ich die Pumpe da habe, werde ich sehen, wieviel sie fördert...).

Aber ich mache mir schon Gedanken, wie ich mittels Feuchtigkeitssensoren usw. das Ganze etwas intelligenter machen kann. Aber eins nach dem anderen.

Wenn ich dann mit den Sensoren beginne, soll natürlich auch geprüft werden, ob die Pumpe läuft, ob noch Wasser in den Tanks ist, ob es aktuell regnet usw. Da gibt es dann ja noch viele Möglichkeiten.

Und wenn dann noch Wetterprognosen aus dem Internet hinzugezogen werden... Ich glaube fertig wird die Bewässerungsanlage in den nächsten Jahren nicht :-)

Ich verstehe deine Denkweise.... mich bringt das schrittweise Ergänzen manchmal in ein kleines Chaos...

Du kannst ja erstmal "spielen" um Sensorrn und Aktuatoren kennen zu lernen.

Das eigentliche Projekt würde ich aber schon mit ein paar grundlegenden Sensoren angehen. Dann mußt du hinterher nur die Variablen anpassen. Wenn du von vornherein sagst die Pumpe darf nur laufen wenn min. 5cm Wasser in der Tonne sind, ist es leicht das hinterher auf 10cm zu ändern wenn du merkst dass die Pumpe eine Strudel und damit Luft zieht... nur als Beispiel. Da siehst du schnell einen Erfolg den man mal ein paar Wochen laufen lassen kann.

Und keine Angst, dass du an einen Punkt kommen könntest wo du hängst.

In dem Forum hier sind so viele Leute unterwegs die helfen wollen und können.

Orandus: im ersten Anlauf werde ich komplett ohne Sensoren bewässern. Sprich pro Beet eine bestimmte Zeit (wenn ich die Pumpe da habe, werde ich sehen, wieviel sie fördert...).

Dann solltest du dir mit der RTC eine "Schaltuhr" aufbauen, die du auch im LCD anzeigen lässt. Beide haben I2C und das ist doch ideal.

Über diese Uhr kannst du dann minutengenau und entsprechend lange dein Wasser fließen lassen. Alles andere kannst du Stück für Stück hinzu bauen.

Ich denke auf dieser Basis lässt sich das konstruieren.

Wenn du es mit einem Hauswasserwerk baust, hast du reichlich Fördermenge. Ich kann damit einem Rasensprenger, angeschlossen an die Pumpe, der durch den Druck hin und her schwenkt, wunderbar meinen Rasen wässern.

Es gibt mind. zwei Gründe, weshalb ich die ganze Sensorik entkoppeln muss: - Leistung/ verfügbare Pins auf dem Arduino sind begrenzt (ein Mega ist schon unterwegs...) - lange Wege bis zu den Beeten für die (Feuchtigkeits-)sensoren. Ich möchte nicht den gesamten Garten verkabeln müssen.

Aus diesen Gründen werde ich wohl mehrere Arduinos im Garten verteilen:

  • Hauptsteuerung im Gartenhaus - das ist die Einheit, die wir hier aktuell diskutieren
  • Messstation in Beet 1 (Solarbetrieb?)
  • Messstation in Beet 2 (Solarbetrieb?)
  • Messstation Regentonnen/Pumpe/Luftfeuchtigkeit usw. bei den Tonnen

Wie ich dann die Messdaten zur Hauptsteuerung sende, weiß ich noch nicht. Da gibt es ja mehrere Möglichkeiten. Zum Ausprobieren habe ich ersteinmal mehrere 433Mhz, NRF24L01 und ESP2866 Module bestellt und werde sehen, mit welcher Methode ich am Besten zurecht komme.

Da hier im WLan auch noch ein Raspberry Pi inkl. Webserver dauerhaft läuft, wäre die Speicherung der Messwerte in einer Datenbank und Abfrage durch die Hauptsteuerung denkbar. Eine Kontrolle oder Steuerung per Smartphone wäre somit auch ermöglicht, wobei dies der letzte Schritt sein wird.

Wie gesagt, das Ganze ist alles noch reine Theorie, da ich aktuell außer dem Uno und ein paar wenigen Sensoren hier noch nichts liegen habe. Ich warte ja sehnsüchtig auf die Lieferungen, aber die werden noch einige Zeit auf sich warten lassen.

Und zum Schluss: Du hast vollkommen Recht. Die Hilfestellung der Benutzer hier in diesem Unterforum (die anderen habe ich mir noch nicht genau angesehen) ist wirklich hervorragend. Vielen Dank dafür!

Lars

OK- der Ansatz die Sensoren später drahtlos einzubinden ist gut.

Bei meinen Eltern habe ich eine ganz simple Steuerung für das Licht in Küche und Wohnzimmer- der Wunsch war einfach, dass das Licht innen heller wird wenn es außen dunkler wird und umgedreht... das ganze ist mit einem RTC- Modul und 2 PIR kombiniert.

Ein Helligkeitssensor liegt mit Solarzelle in der Veranda auf dem Fensterbrett und gibt seine Werte via nrf24 zur eigentlichen Steuerung.

Da du ja auch nicht ale zehntel Sekunden die Daten bräuchtest könntest du später auch solche Sensoren mit nano und kleiner (USB)Solarzelle bauen....

Orandus: ... wollte ich bei euch Profis nachfragen ...

Nimmst Du auch was vom Amateur?

Orandus: ... in meine Regentonnen (zur Zeit ca. 600l) stecke ...

Sollte sich in Deinem Garten ein Loch auftun, so fülle es mit einem frostsicheren Regenwassertank und einem Wirbelfeinfilter, dann hast Du Wasser auch im Frühjahr!

Orandus: Was mir aktuell noch Sorgen bereitet ist die Pumpe für die Regentonnen.

Ich habe mich gegen ein Hauswasserwerk entschieden, da dieses einen Wasserspeicher hat, wo das Wasser länger drin stehen und müffeln könnte. War zumindest meine Befürchtung. Daher habe ich mich (mit Tank) für eine Tauchdruckpumpe (Elektra Beckum TDP 7500 S) mit seperatem Druckschalter (Elektra Beckum Hydromat HM1) entschieden. Die Firma gibt es leider nicht mehr, daher auch keine Links. Für Dich als Tonnenbesitzer sollte etwas wie die Tauchdruckpumpe GARDENA 6000/5 automatic passen. In meinem Garten verlaufen unterirdisch Abflußrohre als Leerrohre für 1"-Schläuche zu Kugelauslaufhähnen. Hahn auf = Pumpe läuft; Hahn zu = Pumpe stoppt. Einziges Problem: Auch wenn ich Kindern sage, es sei kein Trinkwasser, vergessen sie das ganz schnell. Sie haben es alle überstanden.

Orandus: - über eine LCD anzeigen, ob und welches Beet gerade bewässert wird - über einen Button ein Programm (erst Beet 1 für 10 Min. dann Beet 2 für 10 Min. oder manuell Beet 1 oder 2) starten

Zwei Zeilen sind zu wenig. Nimm lieber ein Grafikdisplay, auch mit Touch, da paßt auch an Schrift einfach mehr Info drauf. Mit Deiner Erfahrung sollte das machbar sein.

StepDown-Wandler könnten die 12 V auf 5 V für den Arduino reduzieren.

Ich fange gerne auf einem Mega2560 an, um dann bei der Optimierung zu probieren, ob das Programm auch auf einen Nano paßt.

Sollte es noch niemand geschrieben haben: Willkommen im Forum!