Ciao
forse ho capito... il tuo problema sta nella funzione led_print():
void led_print(int time_int, int pos) {
byte ones, tens;
ones=time_int%10;
tens=time_int/10%10;
lc.setDigit(chip_id, pos, (byte) ones, false);
lc.setDigit(chip_id, pos+1, (byte) tens, false);
}
Come vedi questa funzione accetta un numero in ingresso e lo divide (modulo e resto) in decine e unità... ovviamente se la tua variabile hour vale 6, nella funzione avrai ones=6 e tens=0.
senza modificare la funzione puoi fare così nel tuo sketch:
if (hour<10 ) {
led_print(hour, 6);
lc.setDigit(chip_id, 6, hour, false);
}
else
led_print(hour, 6);
in questo modo non vai a scrivere nulla nella posizione 7...
se poi vuoi assicurarti che ci sia proprio uno spazio in tale posizione puoi esplicitamente aggiungere sotto la setDigit questo:
setChar(chip_id, 7, ' ', false);
fammi sapere se funziona!