Xóa các chữ số còn sót lại
Thuộc phần Màn hình và cảm biến trong hành trình Arduino của Coddy. Bài học 9 trên 24.
Ghi đè lên một con số chỉ thay thế số ký tự bằng độ dài của con số mới. In 10, quay lại, in 9, màn hình sẽ hiện 90: số 9 che số 1, còn số 0 không bị chạm đến.
Có hai cách khắc phục. Cách nhanh: in thêm vài dấu cách sau con số để chúng che đi phần còn lại của con số dài hơn trước đó:
lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print(" "); // che tối đa bốn chữ số cũCách còn lại là lcd.clear(), lệnh này xóa toàn bộ màn hình và đưa con trỏ về góc trên bên trái. Lệnh này cũng xóa mọi thứ khác bạn đã in, nên bạn phải in lại tất cả, và màn hình bị xóa nhiều lần mỗi giây sẽ nhấp nháy. Với một con số thay đổi, dùng dấu cách sẽ tốt hơn.
Thử thách
DễHàng dưới hiển thị số đọc từ núm xoay, nhưng khi vặn núm xuống dưới 1023, các chữ số cũ vẫn còn. Hãy sửa như sau:
- sau khi in số đọc, hãy in các dấu cách để che những chữ số còn sót lại
- giữ
Knob:ở hàng trên
Nhấn Chạy, vặn núm lên xuống, rồi nhấn Kiểm tra.
Tự làm thử
#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);
// Số có ít chữ số hơn sẽ để lại các chữ số cũ: sửa lỗi này ở đây
delay(100);
}
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Màn hình và cảm biến
2Màn hình LCD ký tự
Chào bạn trên màn hình LCDĐặt văn bản bằng setCursorHiển thị số trực tiếp trên màn hình LCDXóa các chữ số còn sót lạiVẽ ký tự tùy chỉnhVăn bản cuộnTự luyện tập: Playground Arduino