encender rele con DS1307

buenas, tengo una duda sobre si se puede o no encender un rele cada cierto tiempo y repetir el ciclo usando DS1307 no tengo mucho conocimiento en el tema por eso consulto

bien paso a explicar lo que quiero hacer

la idea es poder colocar un tiempo determinado en una variable y que el reloj tome eso para poder accionar el rele

rele = 2;

entonces el reloj cada 2 horas enciende el rele no se si se entiende bien a lo que quiere llegar

No necesitas un RTC para hacer eso, puedes hacerlo usando millis

muchas gracias por responder te comento e usado millis para hacer el funcionamiento cada 1 hora y lo e puesto en marcha , funciona bien el único inconveniente es que se va atrasando de la hora actual es decir lo e puesto durante 1 dia y 10 horas y cuando lo compare con la hora actual me marcaba que iba 1 dia y y 7 horas mas o menos por eso quería saber si se podía hacer la misma función usando RTC que lleva una horas actual sin atrasos ni adelantos

Si claro que puedes hacerlo con el RTC, y usando unixtime te olvidas de andar comprobando si hay cambio de dia/mes/año

DateTime now = rtc.now(); //coger la hora del RTC
variableTipoLong = now.unixtime() + 7200; //guardas en una variable la hora actual + 7200 segundos, solo debes guardarla al pulsar un boton o el evento que quieras que lo active

if (now.unixtime() == variableTipoLong) {
 //codigo a ejecutar cuando pasen las 2 horas
}

si lo que quieres es algo de “puntualidad” y que no tenga retrasos, te aconsejo que no uses el 1307 ya que es bastante “sensible” a la temperatura, lo que le hace que tenga menos exactitud, que a veces a mi en una semana me ha variado más de una hora, sino que uses por ejemplo el DS3231, que ese, en comparación al 1307 es mucho más estable y te mantiene mucho mejor la exactitud de hora real.

Busca información sobre este tema si lo que necesitas es algo que sea lo más preciso posible,

muchas gracias veré de conseguir el producto

me sale esto al querer subirlo que podrá ser ?

error: cannot convert 'DateTime' to 'long int' in assignment
     variableTipoLong = DateTime((now.unixtime() + 7200)); //guardas en una variable la hora actual + 7200 segundos, solo debes guardarla al pulsar un boton o el evento que quieras que lo active
                                                        ^
exit status 1
cannot convert 'DateTime' to 'long int' in assignment

Te lo he editado, sobraba el DateTime.

muchas gracias funciona sin problema