Lập trình giao tiếp màn hình LCD với board mạch Arduino

Đây là bài 10/17 bài của series môn học Lập trình Arduino cơ bản

1. Ý nghĩa các chân kết nối của màn hình LCD

LCD (Liquid Crystal Display) là màn hình tinh thể lỏng. LCD là loại thiết bị để hiển thị các ký tự, có cấu tạo bởi các điểm ảnh chứa các tinh thể lỏng (liquid crystal).

Màn hình LCD có ưu điểm là phẳng, cho hình ảnh sáng, chân thật và tiết kiệm năng lượng. Với Arduino, chúng ta có thể sử dụng LCD 16×2, gồm 2 dòng, mỗi dòng 16 ô ký tự. Vị trí các ô ký tự được đánh từ 0, 1, 2, 3, 4, 5,…,15.

Vị trí các ô ký tự của LCD 16x2

Các chân của màn hình LCD 16×2

Màn hình LCD 16x2

VSS: Tương đương với GND – cực âm.

VDD: Tương đương với VCC – cực dương (5V).

Constrast Voltage (VE hoặc VEE): Điều khiển độ sáng màn hình.

Register Select (RS): Lựa chọn thanh ghi trong LCD để xử lý chương trình (RS=0 chọn thanh ghi lệnh, RS=1 chọn thanh ghi dữ liệu).

Read/Write (RW): RW=0 ghi dữ liệu , RW=1 đọc dữ liệu.

Enable (E): Cho phép ghi vào LCD.

D0 – D7: 8 chân nhận dữ liệu.

Backlight Anode (+) và Backlight Cathode (-): Nguồn dương và nguồn âm của đèn màn hình LCD.

2. Thiết kế mạch giao tiếp với LCD của Arduino

Để LCD hoạt động thì:

    • Cần cấp nguồn dương (+) vào chân VDD của LCD, cấp nguồn âm (-) vào chân VSS.
    • Kết nối chân Baclight Anode với nguồn dương (+) và Backlight Cathode với nguồn âm (-) để điều khiển bật đèn màn hình.
    • Kết nối chân VEE với biến trở để điều khiển độ sáng màn hình.
    • Chân R/W kết nối với GND (R/W=0) để ghi dữ liệu vào LCD.
    • Kết nối chân RS và Enable với board mạch Arduino để giao tiếp với Arduino.
    • Điều khiển LCD ở chế độ 4 bit, kết nối 4 chân D4, D5, D6, D7 với board mạch Arduino.
Thiết kế mạch giao tiếp LCD với Arduino

Có thể sử dụng Proteus để giả lập mạch giao tiếp với LCD như hình bên dưới.

Sơ đồ mạch giả lập Proteus giao tiếp LCD với Arduino

Khi sử dụng mạch giả lập giao tiếp LCD với Arduino thì có thể không cần sử dụng chân VDD, VSS, VEE cũng như Backlight Anode (+) và Backlight Cathode (-).

3. Chương trình hiển thị ký tự lên LCD

Để giao tiếp LCD với Arduino, sử dụng thư viện <LiquidCrystal.h> tích hợp sẵn thư viện của Arduino. Chương trình bên dưới giúp hiển thị các ký tự trên LCD.

#include <LiquidCrystal.h>//Khai báo thư viện
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Khai báo các chân RS, E, D4-D7 kết nối với Arduino
void setup() {
  lcd.begin(16, 2);//Khởi tạo màn hình LCD và xác định kích thước màn hình LCD là 16x2
}
void loop() {
  lcd.clear();//Xóa màn hình và đặt con trỏ về vị trí đầu tiên (0, 0)
  lcd.setCursor(6,0);//Di chuyển con trỏ đến cột tương ứng
  lcd.print("HELLO");//Xuất ra màn hình từ vị trí con trỏ
  lcd.setCursor(5,1);
  lcd.print("ARDUINO");
  delay(1000);
}
Kết quả
Hiển thị ký tự trên LCD
5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Lập trình điều khiển nhiều led bằng IC HC595 với board mạch ArduinoCác hiệu ứng hiển thị trên LCD với board mạch Arduino >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.