fabpolli:
Sfasamento è int non unsigned int
Ah si scusa.
Analogamente a quanto detto prima, se devi visualizzare un valore comprensivo di segno tra -15 e 15 devi prevedere sempre 3 caratteri, non fare solo la print().
Per farla "a mano" in modo semplice una cosa del genere quindi:
void printSfasamento(int s) {
if ( s< 0 ) {
schermo.print("-");
s*= -1; // lo riporta positivo
} else {
schermo.print(" ");
}
if ( s< 10 )
schermo.print("0"); // o " "
schermo.print(s);
}
Anche il suggerimento di fab polli è valido ovviamente, ma occhio che la stringa "Spostamento: " è di 13 caratteri, su un LCD da 16 non puoi metterne altri 7...
Inoltre io lo allineerei a destra, ossia farei così:
char msg[17];
sprintf(msg, "[Spostamento:%3d]", Sfasamento);