Menu
CoddyTech

Очистка оставшихся цифр

Часть раздела Дисплеи и датчики путешествия по Arduino на Coddy. Урок 9 из 24.

При перезаписи числа заменяется только столько символов, сколько есть в новом числе. Выведите 10, вернитесь назад, выведите 9, и на экране появится 90: 9 закроет 1, а 0 останется нетронутым.

Есть два способа это исправить. Быстрый: выведите после числа несколько пробелов, чтобы они закрыли всё, что осталось от более длинного числа:

lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print("    ");   // затирает до четырёх старых цифр

Другой способ — lcd.clear(): эта команда очищает весь экран и устанавливает курсор в левый верхний угол. Она также стирает всё остальное, что вы вывели, поэтому придётся вывести всё заново, а экран, который очищается несколько раз в секунду, мерцает. Если меняется только одно число, пробелы — лучший вариант.

challenge icon

Задание

Легко

В нижней строке отображаются показания ручки, но при повороте ручки от значения 1023 вниз остаются старые цифры. Исправь это:

  • после вывода показаний напечатай пробелы, чтобы закрыть оставшиеся цифры
  • оставь Knob: в верхней строке

Нажми Run, поворачивай ручку вверх и вниз, затем нажми Check.

Попробуйте сами

#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);
  // Если число стало короче, старые цифры остаются на экране: исправьте это здесь
  delay(100);
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Дисплеи и датчики

Потренируйтесь самостоятельно: Песочница Arduino