Menu
CoddyTech

Effacer les chiffres restants

Fait partie de la section Écrans et capteurs du Journey Arduino de Coddy. Leçon 9 sur 24.

Écrire par-dessus un nombre ne remplace que le nombre de caractères correspondant à la longueur du nouveau nombre. Affiche 10, recule, affiche 9, et l’écran montre 90 : le 9 a recouvert le 1, et le 0 n’a jamais été touché.

Il y a deux solutions. La rapide : affiche quelques espaces après le nombre, pour qu’ils recouvrent ce qu’un nombre plus long a laissé :

lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print("    ");   // efface jusqu'à quatre anciens chiffres

L’autre solution est lcd.clear(), qui efface tout l’écran et place le curseur en haut à gauche. Cela efface aussi tout le reste que tu as affiché, donc tu dois tout réafficher, et un écran effacé plusieurs fois par seconde scintille. Pour un nombre qui change, les espaces sont préférables.

challenge icon

Défi

Facile

La ligne du bas affiche la valeur lue sur le potentiomètre, mais si tu le tournes vers le bas à partir de 1023, les anciens chiffres restent affichés. Corrige cela :

  • après avoir affiché la valeur lue, affiche des espaces pour recouvrir les chiffres restants
  • garde Knob: sur la ligne du haut

Appuie sur Run, tourne le potentiomètre vers le haut et vers le bas, puis appuie sur Check.

Essayez vous-même

#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 nombre plus court laisse les anciens chiffres affichés : corrigez cela ici
  delay(100);
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Écrans et capteurs

Entraînez-vous par vous-même : Playground Arduino