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
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,
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