Arduino UNO R4 LCD I2C
Hướng dẫn này sẽ chỉ bạn cách sử dụng LCD 16x2 với giao diện I2C cùng Arduino UNO R4. Cụ thể, chúng ta sẽ học:
- Cách kết nối LCD I2C với Arduino UNO R4
- Cách lập trình Arduino UNO R4 để hiển thị text trên LCD I2C
- Cách lập trình Arduino UNO R4 để hiển thị số trên LCD I2C
- Cách lập trình Arduino UNO R4 để hiển thị ký tự tùy chỉnh trên LCD I2C

Phần Cứng Cần Thiết
| 1 | × | Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima | ||
| 1 | × | (Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi | ||
| 1 | × | Arduino UNO R4 Minima (Tùy chọn khác) | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | LCD I2C | ||
| 1 | × | Dây Nối (Jumper Wires) | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Power Splitter for Arduino UNO R4 | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về LCD I2C 16x2
LCD I2C 16x2 là một màn hình có 16 cột và 2 hàng. Nó được trang bị giao diện I2C và bao gồm một biến trở để điều chỉnh độ tương phản.
Sơ Đồ Chân
LCD I2C kết nối thông qua giao diện I2C và có 4 chân.
- Chân GND: kết nối với GND (0 volt).
- Chân VCC: kết nối với VCC để cấp nguồn (5 volt).
- Chân SDA: mang tín hiệu dữ liệu I2C.
- Chân SCL: mang tín hiệu clock I2C.

Tọa Độ LCD
LCD I2C 16x2 có 16 cột và 2 hàng. Cả cột và hàng đều bắt đầu đánh số từ 0.

Sơ Đồ Kết Nối

This image is created using Fritzing. Click to enlarge image
| LCD I2C | Arduino UNO R4, Nano | Arduino Mega |
|---|---|---|
| Vin | 5V | 5V |
| GND | GND | GND |
| SDA | A4 | 20 |
| SCL | A5 | 21 |
Cách Lập Trình Cho LCD I2C
Sử dụng thư viện LiquidCrystal_I2C giúp việc xử lý LCD trở nên rất dễ dàng.
- Khai báo thư viện:
- Tạo một đối tượng LiquidCrystal_I2C bằng cách chỉ định địa chỉ I2C, số cột và số hàng của nó.
- Thiết lập màn hình LCD.
- Đặt con trở tại vị trí đã chọn (column_index, row_index).
- Hiển thị thông điệp trên màn hình LCD.
Chúng ta có thể làm nhiều việc khác với LCD (xem phần 'Làm Thêm Với LCD').
※ Lưu ý:
Địa chỉ I2C của LCD có thể khác nhau tùy thuộc vào nhà sản xuất. Trong code của chúng ta, chúng ta đã sử dụng địa chỉ 0x27 như được chỉ định bởi nhà sản xuất DIYables.
Code Arduino UNO R4
Các Bước Nhanh
Thực hiện theo các hướng dẫn từng bước:
- Mới sử dụng Arduino UNO R4 WiFi/Minima? Hãy tham khảo hướng dẫn Arduino UNO R4 - Cài Đặt Phần Mềm.
- Kết nối màn hình LCD I2C với Arduino UNO R4 theo sơ đồ được cung cấp.
- Kết nối board Arduino Uno R4 với máy tính của bạn bằng cáp USB.
- Khởi chạy Arduino IDE trên máy tính của bạn.
- Chọn board Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
- Đi đến biểu tượng Libraries ở phía bên trái của Arduino IDE.
- Gõ "LiquidCrystal I2C" trong ô tìm kiếm và tìm thư viện LiquidCrystal_I2C của Frank de Brabander.
- Nhấn nút Install để cài đặt thư viện LiquidCrystal_I2C.

- Copy code và mở nó trong Arduino IDE
- Nhấn nút Upload trong Arduino IDE để upload code lên Arduino UNO R4
- Kiểm tra kết quả trên màn hình LCD

- Thử thay đổi text và vị trí của nó
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.
Làm Thêm Với LCD
Ký Tự Tùy Chỉnh
Để hiển thị các ký tự đặc biệt hoặc biểu tượng như trái tim hoặc chú chim giận dữ trên LCD, bạn phải sử dụng trình tạo ký tự vì hàm lcd.print() chỉ có thể hiển thị các ký tự ASCII.
LCD 16x2 có thể hiển thị 32 ký tự trên 2 dòng, với 16 vị trí trên mỗi dòng. Mỗi ký tự sử dụng 40 ô vuông nhỏ, được sắp xếp thành 8 dòng và 5 cột.
Trình tạo ký tự tạo ra một ký tự (40 pixel). Bạn chỉ cần làm theo các bước sau:
Kết quả hiển thị trên màn hình:

Nhiều ký tự tùy chỉnh
Chúng ta có thể tạo tối đa 8 ký tự đặc biệt (đánh số từ 0 đến 7). Ví dụ bên dưới cho thấy cách tạo và hiển thị ba ký tự.
Kết quả hiển thị trên màn hình tinh thể lỏng (LCD):

Tóm tắt: cách sử dụng ký tự tùy chỉnh trên LCD
- Sử dụng trình tạo ký tự ở trên để tạo mã nhị phân cho ký tự đặc biệt của bạn.
- Viết mã nhị phân cho ký tự của bạn (copy từ bước trước).
- Tạo ký tự cá nhân hóa và đặt nó tại một số từ 0 đến 7 trong hàm setup().
- Hiển thị ký tự đặc biệt trên LCD bất cứ khi nào bạn muốn, có thể trong hàm setup() hoặc loop().
Các chức năng khác
Chèn các hàm sau vào hàm loop() từng cái một, thêm delay(5000) sau mỗi hàm.
- Xóa màn hình LCD
- Đặt con trỏ ở góc trên-trái của màn hình.
- Định vị con trỏ tại vị trí cụ thể (column, row).
- Hiển thị con trỏ màn hình LCD.
- Tắt con trỏ màn hình LCD.
- Hiển thị con trỏ LCD nhấp nháy.
- Dừng con trỏ LCD nhấp nháy.
- Tìm thêm thông tin tại Tài Liệu Tham Khảo Thư Viện LiquidCrystal.
Khắc Phục Sự Cố Trên LCD I2C
Nếu văn bản không xuất hiện trên LCD I2C, hãy kiểm tra các vấn đề sau:
- Thay đổi độ sáng màn hình LCD bằng cách xoay biến trở ở mặt sau của nó.
- Địa chỉ I2C của LCD có thể khác nhau với các nhà sản xuất khác nhau. Thường là 0x27 hoặc 0x3F. Thử từng địa chỉ này riêng lẻ. Nếu cả hai đều không hoạt động, hãy sử dụng code sau để tìm địa chỉ I2C đúng.
Kết quả hiển thị trên Serial Monitor: