Puoi farlo in 3 modi:
- funzione a cui passi 4 parametri, il primo il tempo in secondi, mentre gli altri 3 saranno in risposta le singole parti dell'ora, hh,mm,ss che poi stamperai con varie print
void Sec2Time(unsigned long sec,byte *phh, byte *pmm, byte *pss)
{ byte hh,mm,ss;
hh = sec/3600UL; // quante ore
sec = sec-hh*3600UL;
mm = sec/60; // quanti minuti
ss = sec-mm*60;
*phh=hh; // scrivo i valori calcolati all'esterno della funzione
*pmm=mm;
*pss=ss;
}
La userai così:
time=30600;
Sec2Time(time,hh,mm,ss);
// ----> visualizza a display 08:30:00
lcd.print(hh);
lcd.print(':');
lcd.print(mm);
lcd.print(':');
lcd.print(ss);
P.S. codice non testato, scritto al volo