Zeitsteuerung

Hallo zusammen ich hab mich schon viel hier umgesehn konnte aber leider keinen ansatz finden der mir weiterhefen konnte.

ich bin dabei eine steuerung zu programmieren mit der mega R3, und der RTC DS1307 ,

klappt alles wunderbar, nur ich bräuchte eine verkürzung der einschaltzeit pro tag

also die abfrage schaut so aus

if((month == 11) && (monthDay >= 15 ) && (hour == 9) && (minute == 15) && (second == 00) )
{
digitalWrite(WARME,LOW);
delay(1000);

das problem ich möchte jetzt bis ende november EInschaltzeit jeden tag um 15 min verspäten also am 16 sollte es um 9:30 erst einschalten.

hoffe ihr könnt mir helfen ansonsten müsste ich jeden tag einzeln eintippen.

Verstehe nicht genau, was du genau vor hast.
Bitte mal etwas ausführlicher

Nimm eine RTC Lib, die die Zeit in Sekunden seit 1970 angibt. Ählich der Unix-Zeit.

z.B. die hier:

Das bekommst du da mit RTC.now() ein DateTime Objekt zurück. unixtime() sind dann die Sekunden seit 1970 oder secondstime() die Sekunden seit 2000. Du kannst dir dann einfach einen entsprechen Vergleichswert anlegen und jeden Tag 15 Minuten (in Sekunden umgerechnet) dazu addieren.

  1. rechne die Zeit in Sekunden um: von hh mm ss in ssssss ab mitternacht um. So erhälst Du einen Wert den Du mit nur einem if kontrollieren kannst.
    Den Einschaltmoment errechnest Du aus dem Datum und vergleichst ihn mit der Zeit.
    zB if((month == 11) && (monthDay >= 15 ) ) einzeit =93600+1560+ monthDay1560
    Grüße Uwe

ich möchte jetzt bis ende november EInschaltzeit jeden tag um 15 min verspäten also am 16 sollte es um 9:30

Nur ein Denkanstoss:
jeder Einschaltzeitpunkt ist nicht 86400 sec (1 Tag) nach dem vorigen, sondern
86400L + 15*60 = 87300L

Den nächsten Schaltzeitpunkt würde ich ins RTC-RAM ( oder EEPROM, falls es keine Uhr mit feiem RAM sein sollte ) schreiben, dann kannst du den Arduino auch mal resetten und abschalten (zumindest für 87300 Sekunden)

danke für die hilfe

hab heute leider keine zeit werde es aber noch dieses we versuchen.

gruß

chris