Menu
CoddyTech

Limpe os dígitos restantes

Parte da seção Displays e sensores do Journey de Arduino da Coddy. Lição 9 de 24.

Escrever sobre um número substitui apenas a quantidade de caracteres que o novo número tem. Imprima 10, volte, imprima 9, e a tela mostrará 90: o 9 cobriu o 1, e o 0 nunca foi tocado.

Há duas soluções. A mais rápida: imprima alguns espaços depois do número, para que cubram o que quer que um número mais longo tenha deixado:

lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print("    ");   // cobre até quatro dígitos anteriores

A outra é lcd.clear(), que apaga a tela inteira e coloca o cursor no canto superior esquerdo. Ela também apaga todo o resto que você imprimiu, então você precisa imprimir tudo novamente, e uma tela apagada muitas vezes por segundo pisca. Para um número que muda, os espaços são melhores.

challenge icon

Desafio

Fácil

A linha de baixo mostra a leitura do botão, mas, ao girar o botão para baixo a partir de 1023, os dígitos antigos continuam aparecendo. Corrija isso:

  • depois de imprimir a leitura, imprima espaços para cobrir os dígitos restantes
  • mantenha Knob: na linha de cima

Pressione Executar, gire o botão para cima e para baixo e, em seguida, Verificar.

Experimente você mesmo

#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);
  // um número mais curto deixa dígitos antigos na tela: corrija isso aqui
  delay(100);
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Displays e sensores

Pratique por conta própria: Playground de Arduino