Menu
CoddyTech

Usuwanie pozostałych cyfr

Część sekcji Wyświetlacze i czujniki ścieżki Arduino w Coddy. Lekcja 9 z 24.

Zapisanie liczby w tym samym miejscu zastępuje tylko tyle znaków, ile ma nowa liczba. Wyświetl 10, cofnij się, wyświetl 9 — na ekranie pojawi się 90: 9 zastąpiło 1, a 0 pozostało nietknięte.

Są dwa rozwiązania. Szybkie: wyświetl kilka spacji po liczbie, aby zakryły to, co zostawiła dłuższa liczba:

lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print("    ");   // zakrywa do czterech poprzednich cyfr

Drugie rozwiązanie to lcd.clear(), które czyści cały ekran i umieszcza kursor w lewym górnym rogu. Czyści też wszystko inne, co zostało wyświetlone, więc trzeba wyświetlić to ponownie, a ekran czyszczony wiele razy na sekundę migocze. W przypadku jednej zmieniającej się liczby lepsze są spacje.

challenge icon

Wyzwanie

Łatwy

Dolny wiersz pokazuje odczyt pokrętła, ale gdy obrócisz pokrętło w dół z wartości 1023, poprzednie cyfry pozostają. Napraw to:

  • po wyświetleniu odczytu wypisz spacje, aby zakryć pozostałe cyfry
  • zostaw Knob: w górnym wierszu

Naciśnij Uruchom, obracaj pokrętłem w górę i w dół, a następnie naciśnij Sprawdź.

Spróbuj swoich sił

#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);
  // krótsza liczba pozostawia stare cyfry: napraw to tutaj
  delay(100);
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wyświetlacze i czujniki

Poćwicz samodzielnie: Edytor online Arduino