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 anterioresA 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.
Desafio
FácilA 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);
}
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
2LCD de caracteres
Olá no LCDPosicione o texto com setCursorNúmeros em tempo real no LCDLimpe os dígitos restantesDesenhe caracteres personalizadosTexto em rolagemPratique por conta própria: Playground de Arduino