Hiển thị kí tự với màn hình LCD

Hiển thị kí tự với màn hình LCD

Hiển thị kí tự với màn hình LCD

Trong phần này, chúng ta sẽ tìm hiểu các hiển thị ký tự cũng như dữ liệu mong muốn lên màn hình LCD 16x02 với các chân tương thích với GPIO của Arduino.

Chuẩn bị

  • Board UnoX
  • LCD 16x02

    • Là màn hình LCD giúp hiển thị nội dung mong muốn. Thông số 16x02 là số cột và hàng tương ứng. Ví dụ 16x02 cho biết module có 16 cột và 2 hàng.
    • Tên mỗi chân của LCD đều được ghi trên module.
    • Trên LCD có 2 chân Anode (A), Cathode (K) dùng để bật, tắt bật đèn màn hình LCD.
  • Dây cắm
  • Biến trở
  • Breadboard

Đấu nối

  • Đấu nối với biến trở: Biến trở có 3 chân, chân giữa của biến trở sẽ kết nối với chân VEE của module LCD, 1 chân phía ngoài kết nối GND của UnoX, chân phía ngoài còn lại kết nối VCC. Biến trở giúp điều chỉnh cường độ sáng của LCD.

  • Bảng đấu nối board UnoX với LCD 16x02

UnoXModule LCD16x02
12RS
GNDRW
11E
5D4
4D5
3D6
2D7
VCCA (Anode)
GNDK (Cathode)

Mã nguồn

  • Đầu tiên để sử dụng module LCD trong arduino, chúng ta cần sử dụng thư viện LiquidCrystal.h.
  • Khởi tạo 1 đối tượng lcd với các chân dữ liệu và chân điều khiển đã kết nối với UnoX thông qua lệnh LiquidCrystal lcd(12, 11, 5, 4, 3, 2).
  • Trong hàm setup(), khởi động LCD với lệnh lcd.begin(16,2). Các thông số 16, 2 là số cột và số hàng của module LCD16x2. Hàm lcd.print() giúp chúng ta in nội dung cần hiển thị ra LCD.
  • Lệnh lcd.setCursor(x,y) gíup đặt vị trí con trỏ của LCD, x tương ứng với cột và y tương ứng với hàng. Ví dụ, (x,y) = (0,1) tương ứng với việc di chuyển contrỏ đến vị trí hàng 0, cột 1.
  #include <LiquidCrystal.h>
  LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  void setup()
  {
   lcd.begin(16, 2);
   lcd.print("IOT MAKER VN");
  }
  void loop()
  {
   lcd.setCursor(0,1);
   lcd.print("22/3/2018");
  }

Kết quả

  • Chương trình trên hiển thị ra màn hình LCD 16x02 2 dòng chữ IOT MAKER VN22/3/2016.

Ứng dụng mở rộng

  • Phát triển thêm các ứng dụng hiển thị dữ liệu của các cảm biến lên màn hình LCD.
  • Kết hợp với encoder tạo ra 1 menu trên LCD.

Thông tin: Việc kết nối module 16x02 thông thường tốn khá nhiều chân, chúng ta có thể sử dụng module LCD 20x04 kèm theo module chuyển đổi I2C để tiết kiệm các chân kết nối.