Arduino DS1307 Counter

Hallo,

ich stehe grade voll auf dem Schlauch. Ich möchte mit mit der DS1307 ein pin schalten.
Morgens um 08.30 ein um 20:59 aus.

Die rtc Library bietet mir keinen absoluten Counter (Also einen ganzen Tag in Sekunden)
Ich habe nur timer.hour und timer.sek

Ich blick grade nicht wie ich einen Pin in diesem Bereich schalte schalte

//Pin 8:30 - 20:59 auf ON
if ((time.hour > 7 && time.min >= 30))
if (time.hour < 21)
iRelay0 = 1;
else
iRelay0 = 0;

Hilfe !
Gruß Michael

Ich würde schreiben:

if((time.hour == 8) && (time.min == 30)&&(iRelay0 == 0))
  {
  iRelay0 = 1;
  }
if((time.hour == 20) && (time.min == 59)&&(iRelay0 == 1))
  {
  iRelay0 = 0;)
  }

Deine Version

if ((time.hour > 7 && time.min >= 30))
if (time.hour < 21)

ist von 8:30 bis 8:59 wahr aber nicht von 9:00 bis 9:29

Grüße Uwe

Wenn du eine absolute Zahl haben willst dann mach doch
time.hour*60 + time.min
Solange das größer als 510 und kleiner als 1260 ist Relais an sonst aus-
Gruß
Bernward

P.S. geht natürlich auch mit Sekunden time.hour 3600 + time.min60 + time.sec

Hallo,

danke für Eure Antworten. Hab die Variante time.hour*60 + time.min genommen.
Echt den Wald nicht gesehen...

Gruß Michael

Hallo Uwe,
so wie du würde ich es nicht machen.
Problem ist doch wenn du z.B. um 10.00 Uhr den Arduino startest
macht er zumindest den ersten Tag nicht das was er soll.

Gruß
Bernward

Das ist natürlich ein Argument.
Mit einigem Aufwand kann man das auch ohne die Zeit in Minuten/Sekunden umzurechnen machen aber mit Umrechnung ist es einfacher.
Grüße Uwe