Dabei sollen 2 Magnetventile über Relais für 2 Minuten und 15 Minuten geöffnet werden.
Das erste öffnet und schließt nach 2 Minuten, das zweite öffnet ebenfalls anschließend, schließt jedoch nicht nach 15 Minuten, sondern das erste öffnet wieder. Meine Absicht war, das beide Ventile nur einmal in 24 Stunden öffnen und dann wieder schließen.
Kann mir jemand helfen?
Das du dir BlinkWithoutDelay ansehen sollst, wurde ja schon geschrieben.
Deinen Ablauf mit delays zu programmieren, ist eine sehr schlechte Idee, da während eines delays der Controller nichts weiteres macht, außer zu warten.
Ich vermute aber, du hast für deine Relais und Pumpen keine Freilaufdioden verwendet.
Dadurch bekommst du Störungen, die deinen Ablauf durcheinander bringen können.
mal abgesehen davon das delay dazu ungeeignet ist sollte es ja aber eigendlich so gehen, ich sehe da zumindest auf Anhieb keinen Fehler. Jetzt ist das ein bischen doof mit den langen Wartezeiten beim testen. Um das mit den bereits angesprochenen externen Störungen mal auszuschliesen kannst Du anstelle der Relais ja erst mal LED nehmen.
delay hat den Nachteil das wärend der angegebene Zeit absolut nix passiert , das Ding macht einfach Pause und pennt. Merke : delay(1000) zu deutsch pen ne sekunde
millis ist ein Zähler der ab start des Systems im millisekunden Takt läuft. Wenn Du Dir den aktuellen Stand zu einem beliebigen Zeitpunkt merkst, kannst Du mit dem Zählerstandes zu einem spätere Zeitpunkt und der Differenz der beiden Werte die Zeit zwischen den beiden Ereignissen bestimmen. Dazu gibts in der IDE unter Datei / Beispiel / 02Digital. das betreffende Beispiel. Gerade noch vor etwa einer Woche dann noch den sehr gut verständlichen Beitrag zum Thema Nachtwächter der das anschaulich erklährt.
Nexter Punkt:
soll das einmal am Tag passieren , oder zu bestimmten Zeiten. Wenn Du alles auf millis umgeschrieben hast wird Dir das mit der Zeit weglaufen, so genau sind die millis auch nicht. Wenn es immer zur selben Zeit Bewässern soll wirst Du ohne ein RTC Modul oder Software mit NTP Synchronisierung nicht auskommen.