Pages: [1]   Go Down
Author Topic: Problemi con posizionamento cursore e LCD..  (Read 568 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti,
ho un problema con uno sketch con il posizionamento del cursore in un display lcd 2x16 (solito HD44780).
Mi spiego meglio:

ho questo sketch dove ad un certo punto dico:

Code:
lcd.setCursor(8,1);
lcd.print(ora);

dove la variabile "ora" è definita come int all'inizio e varia da 0 a 24.
Se questo valore cresce da 0 a 24 non c'è problema, ma quando invece diminuisce (perchè sto facendo un orologio regolabile) quando si passa da 11 poi a 10 e poi a 9 viene visualizzato 90, poi 80, poi 70, ovvero rimane la vecchia seconda cifra.
Come posso ovviare a questo stupido problema?
c'è modo di far interpretare le cifre singole come 01, 02, 03 etc etc?


grazie!
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 333
Posts: 22972
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Questo perché il carattere che conteneva lo zero non viene sovrascritto con nulla, quindi mantiene il suo vecchio valore. Prevedi un semplice controllo in cui se il valore di "ora" è inferiore a 10, scrivi un carattere vuoto nella cella immediatamente successiva.
Code:
lcd.setCursor(8,1);
lcd.print(ora);
if (ora<10) {
  lcd.setCursor(9,1);
  lcd.print(" ");
}
Logged


0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie..in effetti ora ho provato così e funziona:
Code:
if (ora < 10){
      lcd.setCursor(8,1);
      lcd.print(" ");
      lcd.print(ora);
      } else
    {
      lcd.setCursor(8,1);
      lcd.print(ora);
      }

Grazie!
Logged

Pages: [1]   Go Up
Jump to: