RISOLTO OROLOGI con caratteristiche "normali" es. visualizzare ore 9:10 / 09:10

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!