Điều khiển màn hình LCD1602 với Arduino UNO

827 1231 1412942819 0 lcd 1602

Hôm nay chúng ta sẽ tìm hiểu cách điều khiển màn hình LCD với Arduino UNO mà không cần sử dụng module I2C LCD. Điều này giúp tiết kiệm khá nhiều dây và đơn giản hóa quá trình lập trình.

Mục tiêu của chúng ta

Chúng ta sẽ làm quen với các chân quan trọng của một module LCD và biết cách điều khiển nó bằng Arduino UNO R3.

Phần cứng cần chuẩn bị

  1. Arduino UNO
  2. Breadboard
  3. Dây cắm breadboard
  4. Module LCD (16×02, 20×04,… chỉ cần là LCD ô vuông)
  5. Một biến trở (1k, 4.7K, 10K,… bất kỳ loại nào cũng được)

Thư viện điều khiển LCD của Arduino

Thư viện LiquidCrystal là thư viện điều khiển LCD trên Arduino, được viết để giúp chúng ta lập trình điều khiển các module LCD ô vuông một cách nhanh chóng và khéo léo. Mặc dù được tạo ra để tương thích với IC HD44780 (chip điều khiển module LCD), nhưng thư viện này vẫn hoạt động tốt với các màn hình LCD Trung Quốc phổ biến trên thị trường. Điều đó có nghĩa là bạn chỉ cần mua module LCD và gắn kết nối với Arduino, sau đó nạp code là chạy được mà không cần phải lo lắng về IC điều khiển LCD.

Sơ đồ chân của LCD

  • VSS: chân đất (GND)
  • VDD: chân điện áp (VCC) (5V)
  • Constrast Voltage (Vo): điều khiển độ sáng màn hình
  • Register Select (RS): chọn địa chỉ để ghi dữ liệu lên màn hình
  • Read/Write (RW): bạn muốn đọc (read mode) hay ghi (write mode) dữ liệu? Nó phụ thuộc vào giá trị bạn gửi vào.
  • Enable pin: cho phép ghi dữ liệu lên màn hình LCD
  • D0 – D7: 8 chân dữ liệu, mỗi chân có thể có giá trị HIGH hoặc LOW khi bạn đang ở chế độ đọc (read mode) hoặc ghi (write mode)
  • Backlight (Backlight Anode (+) và Backlight Cathode (-)): bật/tắt đèn nền màn hình LCD

Cách sử dụng thư viện với LCD

Module LCD có thể được điều khiển ở chế độ 4-bit hoặc 8-bit. Chế độ 4-bit yêu cầu 7 chân trên Arduino, trong khi muốn sử dụng đầy đủ khả năng của LCD thì bạn cần 7 + 4 = 11 chân trên Arduino (nhưng không cần thiết). Tuy nhiên, đã có thử nghiệm sử dụng tất cả các chức năng của LiquidCrystal Library của Arduino ở chế độ 4-bit và tất cả đều hoạt động tốt. Vì vậy, chúng ta sẽ tiến hành kết nối với LCD ở chế độ 4-bit và làm theo hướng dẫn này.

Cách lắp mạch

827 1231 1412942819 0 lcd 1602

Lập trình

Hãy bắt đầu bằng việc thêm thư viện LiquidCrystal vào mã nguồn. Thư viện này đã được cài đặt sẵn nên bạn không cần phải cài thêm gì cả. Dưới đây là một ví dụ về cách sử dụng thư viện LiquidCrystal để hiển thị một dòng chữ trên màn hình LCD:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2); // Khởi tạo màn hình LCD 16x2
  lcd.print("Toi yeu Arduino!"); // In ra dòng chữ "Toi yeu Arduino!"
}

void loop() {
  lcd.setCursor(0, 1); // Đặt con trỏ vào cột 0, dòng 1 (dòng thứ 2)
  lcd.print(" Arduino.VN"); // In ra dòng chữ " Arduino.VN"
}

Kết luận

Như bạn đã thấy, việc điều khiển màn hình LCD1602 với Arduino UNO rất đơn giản. Hãy thử và chia sẻ bài viết này để cùng nhau học hỏi và khám phá thêm về Arduino!