ESP8266 Màn hình LCD
Hướng dẫn này chỉ cho bạn cách sử dụng màn hình LCD với ESP8266, cách lập trình cho ESP8266 để hiển thị văn bản và các ký tự đặc biệt trên LCD.
Phần cứng cần chuẩn bị
| 1 | × | ESP8266 NodeMCU ESP-12E | ||
| 1 | × | Recommended: ESP8266 NodeMCU ESP-12E (Uno-form) | ||
| 1 | × | USB Cable Type-A to Type-C (for USB-A PC) | ||
| 1 | × | USB Cable Type-C to Type-C (for USB-C PC) | ||
| 1 | × | LCD I2C | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP8266 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP8266 Type-C |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về LCD I2C 16x2
LCD I2C là một lựa chọn tốt hơn cho LCD tiêu chuẩn. Với chỉ 4 chân, nó làm cho việc kết nối với ESP8266 trở nên dễ dàng. Một biến trở tích hợp giúp dễ dàng điều chỉnh độ tương phản của LCD.
Bố trí chân I2C cho LCD
Màn hình LCD I2C sử dụng giao diện I2C để kết nối với ESP8266. Nó có 4 chân:
- Chân GND: Cần được kết nối với GND (0V).
- Chân VCC: Đây là nguồn cấp điện cho LCD và nên được kết nối với VCC (5V).
- Chân SDA: Đây là tín hiệu dữ liệu I2C.
- Chân SCL: Đây là tín hiệu đồng hồ I2C.

Tọa độ LCD
Màn hình LCD I2C 16x2 có tổng cộng 16 cột và 2 hàng. Các cột và hàng được đánh số bắt đầu từ 0.

Sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
| LCD I2C | ESP8266 |
|---|---|
| Vin | Vin |
| GND | GND |
| SDA | D2 (GPIO4) |
| SCL | D1 (GPIO5) |
Cách Lập Trình cho LCD I2C
Thư viện LiquidCrystal_I2C cần được thêm vào để có thể sử dụng màn hình LCD.
- Cài đặt LCD:
Màn hình LCD phải được cài đặt trước khi có thể được sử dụng.
- Ghi lên màn hình LCD:
Việc ghi lên LCD được thực hiện một cách đơn giản nhờ thư viện LiquidCrystal_I2C.
- Khai báo một đối tượng của lớp LiquidCrystal_I2C, chỉ định địa chỉ I2C, số cột và số hàng.
- Khởi động màn hình LCD.
- Đặt con trỏ tại vị trí mong muốn (chỉ số cột, chỉ số hàng)
- Hiển thị một thông điệp trên màn hình LCD.
Khám phá những khả năng có thể đạt được với LCD bằng cách xem phần "Làm được nhiều hơn với LCD".
※ Lưu ý:
Địa chỉ của màn hình LCD có thể khác nhau tùy thuộc vào nhà sản xuất. Trong mã của chúng tôi, chúng tôi đã sử dụng 0x27, được quy định bởi nhà sản xuất DIYables.
Mã nguồn ESP8266
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Xem ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
- Kết nối các thành phần như được hiển thị trong sơ đồ.
- Kết nối board ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn board ESP8266 đúng, chẳng hạn như (ví dụ: NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng của nó.
- Nhấp vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
- Tìm kiếm "LiquidCrystal I2C" và xác định thư viện LiquidCrystal_I2C do Frank de Brabander tạo.
- Sau đó, nhấp vào nút Install để thêm thư viện.

- Sao chép mã và mở nó trong Arduino IDE.
- Nhấp nút Tải lên trong Arduino IDE để biên dịch và tải mã lên ESP8266.
- Xem kết quả trên LCD.

- Của các hình ảnh
- Thử nghiệm bằng cách thay đổi từ ngữ và vị trí của các hình ảnh.
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 được nhiều hơn với LCD
Nhân vật tùy chỉnh
lcd.print() chỉ cho phép ký tự ASCII. Để hiển thị một ký tự đặc biệt hoặc biểu tượng (ví dụ: trái tim, con chim giận dữ), hãy sử dụng bộ sinh ký tự.
Màn hình LCD 16x2 có khả năng hiển thị 32 ký tự. Mỗi ký tự được tạo thành từ 40 điểm ảnh, với 8 hàng và 5 cột.
Trình tạo ký tự cho ra một ký tự có kích thước 40 pixel. Để sử dụng nó, chỉ cần làm theo các bước sau:
Kết quả được hiển thị trên màn hình LCD là: . Kết quả hiển thị trên màn hình LCD là:

Nhiều ký tự tùy chỉnh
Chúng ta có thể tạo tối đa 8 ký tự tùy chỉnh, được đánh số từ 0 đến 7. Ví dụ sau đây tạo và hiển thị ba trong số chúng.
Kết quả được hiển thị trên màn hình LCD là: . Kết quả được hiển thị trên LCD là:

Tóm tắt: cách sử dụng ký tự tùy chỉnh trên LCD
- Sử dụng công cụ tạo ký tự để sinh mã nhị phân cho ký tự tùy chỉnh của bạn.
- Sao chép mã nhị phân được tạo từ bước trước và khai báo nó.
- Định nghĩa một ký tự do bạn tự thiết kế trong hàm setup() và gán cho nó một giá trị số từ 0 đến 7.
- Hiển thị ký tự tùy chỉnh trên LCD bất cứ lúc nào, có thể trong hàm setup() hoặc loop().
Các chức năng khác
- In "Hello World"
Chèn các hàm sau vào hàm loop() lần lượt:
- Xóa màn hình LCD
- Trì hoãn 5000 mili giây
- In "Hello World"
- Đặt con trỏ ở góc trên bên trái của màn hình LCD.
- Đặt con trỏ ở một cột và một hàng cụ thể.
- Hiển thị con trỏ trên màn hình LCD.
- Ẩn con trỏ LCD.
- Hiển thị con trỏ LCD nhấp nháy.
- Vô hiệu hóa nhấp nháy của con trỏ LCD.
- Ngoài ra, bạn có thể tìm thấy thông tin tại LiquidCrystal Library Reference
Thách thức bản thân
Sử dụng LCD để thực hiện một trong các dự án sau:
- Gửi văn bản từ máy tính (qua Serial Monitor) và hiển thị lên LCD. Mẹo: Xem Cách gửi dữ liệu từ PC tới Arduino
- Hiển thị phím đã nhấn từ keypad lên LCD. Mẹo: Xem ESP8266 - Bàn phím
Khắc phục sự cố trên LCD I2C
- Điều chỉnh độ tương phản của LCD bằng cách vặn biến trở ở mặt sau LCD.
- Tùy theo nhà sản xuất, địa chỉ I2C của LCD có thể khác nhau. Thông thường, địa chỉ I2C mặc định của LCD là 0x27 hoặc 0x3F. Hãy thử lần lượt các giá trị này. Nếu không thành công, hãy chạy đoạn mã dưới đây để xác định địa chỉ I2C.
Đầu ra được hiển thị trên Serial Monitor là: .
Hiệu ứng có thể nhìn thấy trên Serial Monitor là: .
Những gì xuất hiện trên Serial Monitor là: