Khoảng cách trên LCD
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 23 trên 24.
Một cảm biến và một màn hình tạo thành một thiết bị hoạt động không cần máy tính: ở đây, HC-SR04 đo khoảng cách và LCD hiển thị kết quả.
Mỗi bước đều dựa trên các bài học trước. Đo thời gian tiếng vọng, đổi thành centimet rồi in ra ở hàng dưới cùng, kèm đơn vị phía sau:
int cm = duration * 0.034 / 2;
lcd.setCursor(0, 1);
lcd.print(cm);
lcd.print(" cm ");Các khoảng trắng sau cm rất quan trọng. Khi khoảng cách giảm từ 150 cm xuống 20 cm, dòng chữ mới ngắn hơn. Nếu không có các khoảng trắng đó, màn hình sẽ hiển thị 20 cmm. Ở đây, khoảng cách được lưu bằng kiểu int: số centimet nguyên dễ đọc hơn trên màn hình nhỏ.
Thử thách
Trung bìnhMàn hình LCD hiển thị Distance: ở hàng trên và đoạn code đo thời gian tín hiệu phản hồi. Hãy hiển thị khoảng cách bên dưới:
- chuyển thời gian thành số nguyên centimet
- ở đầu hàng dưới, in ra số rồi đến
cm, như25 cm - dùng dấu cách để che các ký tự còn sót lại
Nhấn Chạy, di chuyển vật thể, 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);
const int trigPin = 9;
const int echoPin = 10;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.begin(16, 2);
lcd.print("Distance:");
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
// Tính khoảng cách theo xentimét rồi hiển thị ở hàng dưới, ví dụ 25 cm
delay(200);
}
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
Tự luyện tập: Playground Arduino