Exibir Tempo decorrido.

Gostaria de saber se tem como exibir em um Display Nokia 5110 o tempo desde que eu liguei o Arduino.
No meu projeto eu vou manter um Arduino Uno ligado por um mês direto e junto com ele um sensor e um display Nokia 5110.
E gostaria de exibir no display quanto tempo faz que o Arduino está ligado.
Exemplo: horas: minutos : segundos
Dias....
Mais ou menos isso.
Imagino que teria Que usar um módulo RTC de tempo.
Se alguém poder ajudar agradeço muito.

Eu acho que vi por aí um skecth de Virtual RTC, para quem não tem um. Basicamente, se usasses um RTC real, inicializavas uma variável no setup e ias fazendo incrementos no LOOP. Mas, é tudo uma questão de se começar por algum lado.

Você pode usar a função millis() que dá o tempode inicializaçã odo Arduino em milisegundos.

//Imprimindo na porta Serial 

Serial.println(millis());

Mas, com o passar do tempo, não vai começar a ficar pesado??? Tipo ao fim de umas semanas tens uns milhões de segundos (milhares de milhões de millsegundos)....

O millis() e um contador de 32 bits (unsigned long) que acumula tempo decorrido desde que o Arduino foi ligado.
Ele reseta a cada aproximadamente 50 dias (49 dias, 17 Horas, 2minutos, 47 segundos e 296 milissegundos).

alkuentrus:
Mas, com o passar do tempo, não vai começar a ficar pesado??? Tipo ao fim de umas semanas tens uns milhões de segundos (milhares de milhões de millsegundos)…

O millis funciona quer tu chames a função millis() ou não. Logo o peso é apenas o espaço da variável em memória (4 bytes) e mesmo isso não precisa de ser global.

Eu apenas diria que alguém dizer que o Arduino vai ficar a funcionar non-stop durante um mês é confiança e/ou ignorância a mais.

Porque não instalar um RTC, gravar em memória EEPROM quando o sistema é inicializado através duma acção do utilizador, calcular o tempo que decorreu entre duas datas e ter uma maneira robusta do arduino fazer auto reset caso fique empancado?