Menu
CoddyTech

Cancellare le cifre residue

Fa parte della sezione Display e sensori del percorso Arduino di Coddy. Lezione 9 di 24.

Sovrascrivere un numero sostituisce solo tanti caratteri quante sono le cifre del nuovo numero. Stampa 10, torna indietro, stampa 9 e sullo schermo appare 90: il 9 ha coperto l'1 e lo 0 non è mai stato toccato.

Ci sono due soluzioni. Quella rapida: stampa alcuni spazi dopo il numero, così coprono ciò che potrebbe essere rimasto di un numero più lungo:

lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print("    ");   // copre fino a quattro cifre precedenti

L'altra è lcd.clear(), che cancella l'intero schermo e porta il cursore in alto a sinistra. Cancella anche tutto il resto che hai stampato, quindi devi ristampare tutto, e uno schermo cancellato molte volte al secondo sfarfalla. Per un solo numero che cambia, gli spazi sono meglio.

challenge icon

Sfida

Facile

La riga in basso mostra il valore letto dalla manopola, ma abbassando la manopola da 1023, le vecchie cifre restano visibili. Correggi il problema:

  • dopo aver stampato il valore letto, stampa degli spazi per coprire le cifre rimaste
  • mantieni Knob: sulla riga in alto

Premi Run, gira la manopola verso l’alto e verso il basso, poi premi Check.

Provalo tu

#include <LiquidCrystal.h>

// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  lcd.print("Knob:");
}

void loop() {
  int reading = analogRead(A0);
  lcd.setCursor(0, 1);
  lcd.print(reading);
  // un numero più corto lascia visibili le vecchie cifre: correggi il problema qui
  delay(100);
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Display e sensori

Esercitati da solo: Playground Arduino