Necesito crear un programa que me cuente el intervalo que ha pasado entre que se pulsa el botón y se vuelve a pulsar de nuevo. Este tiempo se tiene que poder medir de forma continua en el tiempo.
Con la función millis lo puedo calcular sin problemas pero he leído que al cabo de 50 días no va a poder seguir contando. Habría que volver a pasarle el programa de nuevo.
entonces quieres medir ese intervalo en lapsos mayores a 50 días?
Usa un RTC DS3231. En 50 dias no me vengas que requieres precisión de milisegundos. Con tener segundos es mas que suficiente o no?
Pones un RTC, almacenas el tiempo enque se pulsó el interruptor. Lo guardas en EEPROM o en la NVRAM del RTC y luego con el siguiente evento sacas la diferencia.
Tal vez lo que quiere decir no es que vaya a haber más de 50 días entre dos pulsaciones, sino que haya entendido que tras 50 días funcionando el arduino no sea capaz de discriminar más tiempo entre dos pulsaciones. Lo digo por lo de "habría que volver a pasarle el programa".
Será mejor que explique un poco más detalladamente lo que quiere hacer.
En ambos casos un RTC podria ser una solución fácil no te parece Serafín?
Pero tmb si el intervalo terminara el día 48, millis() solo mantendrá 2 dias en realidad menos pero no importa, sigamos con 50, y luego dara un rebalse y vuelve a 0.
Podria también arrastrar esa cuenta y sumarla a lo que siga contando.
A mi me preocupa otra cosa y tal vez sea porque vivo en Argentina y no se que pasa en otros países con este tema.
Si se corta la luz que ocurre? Porque arduino pierde el dato.
Entonces si usaras un RTC no ocurre nada, sigue gracias a su battery backup.