Điều khiển LCD1602 bằng Arduino UNO

I. Giới thiệu

Hôm nay, các bạn sẽ tìm cách điều khiển màn hình LCD bằng Arduino mà không sử dụng module I2C LCD. Vì chỉ cần Arduino và LCD thì bạn sẽ tốn khá nhiều dây để lập trình điều khiển được LCD.

II. Mục tiêu cần nắm

Bạn sẽ biết được:

  • Pinout của một số chân quan trọng với module LCD
  • Điều khiển nó bằng Arduino UNO R3

III. Phần cứng

  1. Arduino UNO
  2. Breadboard
  3. Dây cắm breadboard
  4. Module LCD (16x02, 20x04,... miễn nó là LCD ô vuông)
  5. Một biến trở (1k, 4.7K, 10K,... cái nào cũng được cả)

IV. Giới thiệu sơ lược về LCD và thư viện điều khiển LCD của Arduino

1. 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, nó được xây dựng để cho các bạn có thể lập trình điều khiển các module LCD ô vuông một cách nhanh chóng mà không cần phải lập trình nhiều. Thư viện này được viết để phù hợp với con IC HD44780 (con điều khiển module LCD), tuy nhiên, trên thị trường mình toàn thấy các con LCD của Trung Quốc và thư viện này vẫn hoạt động tốt. Nghĩa là, bạn chỉ cần mua module LCD về và gắn vào Arduino, nạp code là chạy được, không cần quan tâm đến IC điều khiển LCD.

 2. LCD pinout - sơ đồ chân của LCD

  1. VSS: tương đương với GND - cực âm
  2. VDD: tương đương với VCC - cực dương (5V)
  3. Constrast Voltage (Vo): điều khiển độ sáng màn hình
  4. Register Select (RS): điều khiển địa chỉ nào sẽ được ghi dữ liệu
  5. Read/Write (RW): Bạn sẽ đọc (read mode) hay ghi (write mode) dữ liệu? Nó sẽ phụ thuộc vào bạn gửi giá trị gì vào.
  6. Enable pin: Cho phép ghi vào LCD
  7. D0 - D7: 8 chân dư liệu, mỗi chân sẽ có giá trị HIGH hoặc LOW nếu bạn đang ở chế độ đọc (read mode) và nó sẽ nhận giá trị HIGH hoặc LOW nếu đang ở chế độ ghi (write mode)
  8. Backlight (Backlight Anode (+) và Backlight Cathode (-)): Tắt bật đèn màn hình LCD.

3. Cách dùng thư viện với LCD

Module LCD có thể được điều khiển ở chế độ: 4-bit điều khiển và 8-bit điều khiển. Với cách dùng ở chế độ 4-bit, bạn cần 7 chân ở Arduino, và nếu muốn dùng hết khả năng của LCD thì bạn cần 7 + 4 = 11 chân ở Arduino (không nên tí nào). Ngoài ra, mình đã thử hết các hàm trong thư viện LiquidCrystal của Arudino  ở chế độ 4-bit thì mọi thứ đều hoạt động tốt cả. Vì vậy, mình sẽ mắc mạch ở chế độ 4-bit điều khiển và hướng dẫn theo hướng này.

V. Lắp mạch

VI. Lập trình

//Thêm thư viện LiquitCrystal - nó có sẵn vì vậy bạn không cần cài thêm gì cả
#include <LiquidCrystal.h>

//Khởi tạo với các chân
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  //Thông báo đây là LCD 1602
  lcd.begin(16, 2);
  //In ra màn hình lcd dòng chữ Toi yeu Arduino
  lcd.print("Toi yeu Arduino!");
}

void loop() {
  // đặt con trỏ vào cột 0, dòng 1
  // Lưu ý: dòng 1 là dòng thứ 2, lòng 0 là dòng thứ 1. Nôm na, nó đếm từ 0 từ không phải từ 1
  lcd.setCursor(0, 1);
  // In ra dong chu
  lcd.print("   Arduino.VN");
}

VII. Kết luận

Thật là đơn giản phải không nào. Hãy làm theo và chia sẻ bài viết của mình.

lên
58 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Hướng dẫn sử dụng các loại module

Nếu bạn đang muốn thực hiện hóa ý tưởng của mình mà không biết dùng loại module nào? Hãy tham khảo các module trong danh sách sau

Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Trình mô phỏng Raspberry Pi trên Linux với QEMU

Hiện nay việc sở hữu một board mạch Raspberry Pi đã không là quá khó đối với mọi người. Thế nhưng đôi khi bạn cần phải giả lập hệ thống của Raspberry Pi trên máy tính (linux) của bạn bởi những lý do sau:

  • Bạn cần dev và test cho một software trước khi chạy trên board
  • Bạn cần một môi trường giả lập để làm quen trước khi sắm cho mình một board thực sự
  • Bạn cần test tương tác giữa nhiều hệ thống

Nội dung bài viết này sẽ hướng dẫn cách cài đặt hệ thống giả lập Raspberry Pi trên máy tính linux

lên
4 thành viên đã đánh giá bài viết này hữu ích.

Lưu log dữ liệu vào thẻ SD với Arduino và Datalogger shield

Với các công việc lập trình cần lưu trữ dữ liệu, bạn cần phải lưu trạng thái của các tín hiệu đầu vào theo thời gian. Hôm nay, mình sẽ hướng dẫn bạn làm điều đó vớ shield datalogger. Bài này chủ yếu ví dụ cho bạn cách làm sao để lưu dữ liệu của cảm biển nhiệt độ, vừa hiển thị lên LCD. Dữ liệu được lưu dưới dạng file excel.

lên
17 thành viên đã đánh giá bài viết này hữu ích.