Ich bin gerade dabei für mein Aquarium eine Automatisierung zu machen.
Leider klappt das nicht so ganz wie ich mir das vorstelle mit der RTC und den Timern.
Ich habe schon Beispiele gesehen, in denen genau um X-Uhr geschalten wird, ich will jedoch im Falle eines Stromausfalls nicht den Timer laufen lassen bis zum nächsten Event, da ich auch CO2 steuern will und nachts dadurch eine Unterversorgung an Sauerstoff ist falls CO2 weiter läuft.
Meine Idee ist die Uhrzeit (hhmm) als von/bis zu erfassen und bei einem inaktiven Pin diesen dann aktiv zu schalten oder eben zu deaktivieren. z.B. wird aus 7:30Uhr 730, ich habe eine Funktion (TimerCheck) in welcher ich den Timer einfach mit if/else prüfe -->if((uhrzeit()>=Timer_1 and uhrzeit()<Timer_2) or (uhrzeit()>=Timer_3 and uhrzeit()<Timer_4))
Ein Timer für einen Tag hat zwei Einschalt- und Ausschaltzeiten, über Mittags wird eine Sonnenpause gemacht
Das einschalten klappt super, allerdings wird das ausschalten verpennt, wenn ich den Reset Button drücke und der Arduino neu startet reagiert er und schaltet den Port dann aus.
Ein weiteres Problem ist, dass sich das Display nach ein paar Minuten verabschiedet, es friert ein bis ich Reset drücke. Am Display kann es eigentlich nicht liegen, wenn ich die Beispiel Scripts laufen lasse läuft es einwandfrei selbst über mehrere Tage. Ich steuer das Display mit 3.3V an und hab auch einen LogicShifter dazwischen.
Leider ist der Code ein wenig zu lange, deswegen als Anlage.
Code.txt (10 KB)