Очистка оставшихся цифр
Часть раздела Дисплеи и датчики путешествия по Arduino на Coddy. Урок 9 из 24.
При перезаписи числа заменяется только столько символов, сколько есть в новом числе. Выведите 10, вернитесь назад, выведите 9, и на экране появится 90: 9 закроет 1, а 0 останется нетронутым.
Есть два способа это исправить. Быстрый: выведите после числа несколько пробелов, чтобы они закрыли всё, что осталось от более длинного числа:
lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print(" "); // затирает до четырёх старых цифрДругой способ — lcd.clear(): эта команда очищает весь экран и устанавливает курсор в левый верхний угол. Она также стирает всё остальное, что вы вывели, поэтому придётся вывести всё заново, а экран, который очищается несколько раз в секунду, мерцает. Если меняется только одно число, пробелы — лучший вариант.
Задание
ЛегкоВ нижней строке отображаются показания ручки, но при повороте ручки от значения 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);
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Дисплеи и датчики
2Символьный LCD-дисплей
Приветствие на LCDРазмещение текста с помощью setCursorТекущие числа на LCDОчистка оставшихся цифрСоздание пользовательских символовБегущая строкаПотренируйтесь самостоятельно: Песочница Arduino