Trong bài viết này, chúng tôi sẽ kết nối màn hình tinh thể lỏng 1602 với mô-đun FC-113 I2C với Arduino, do đó kết nối sẽ được thực hiện chỉ sử dụng hai dây dữ liệu và hai dây nguồn.
Nó là cần thiết
- - Arduino;
- - Màn hình LCD 1602 (16 ký tự, 2 dòng);
- - Bộ chuyển đổi I2C FC-113;
- - dây nối.
Hướng dẫn
Bước 1
Mô-đun FC-113 dựa trên vi mạch PCF8574T, là một thanh ghi dịch chuyển 8-bit - bộ mở rộng I / O cho bus nối tiếp I2C. Trong hình, vi mạch được ký hiệu là DD1.
R1 là một điện trở cắt để điều chỉnh độ tương phản của màn hình LCD.
Jumper J1 được sử dụng để bật đèn nền màn hình.
Các chân 1… 16 được sử dụng để kết nối mô-đun với các chân màn hình LCD.
Các miếng đệm tiếp xúc A1 … A3 là cần thiết để thay đổi địa chỉ của thiết bị I2C. Bằng cách hàn các jumper tương ứng, bạn có thể thay đổi địa chỉ thiết bị. Bảng cho thấy sự tương ứng của địa chỉ và jumper: "0" tương ứng với mạch mở, "1" - với jumper đã cài đặt. Theo mặc định, địa chỉ thiết bị là 0x27, tức là cả 3 jumper đều mở.
Bước 2
Mô-đun được kết nối với Arduino theo tiêu chuẩn cho bus I2C: chân SDA của mô-đun được kết nối với cổng tương tự A4, chân SCL được kết nối với cổng tương tự A5 của Arduino. Mô-đun được cung cấp bởi + 5V từ Arduino. Bản thân mô-đun được kết nối bằng các chân 1 … 16 với các chân tương ứng 1 … 16 trên màn hình LCD.
Bước 3
Bây giờ chúng ta cần một thư viện để làm việc với LCD thông qua giao diện I2C. Ví dụ: bạn có thể sử dụng cái này: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (liên kết trong dòng "Tải xuống mã và thư viện mẫu").
Tệp lưu trữ đã tải xuống "LiquidCrystal_I2Cv1-1.rar" được giải nén vào thư mục "\ library ", nằm trong thư mục Arduino IDE.
Thư viện hỗ trợ một tập hợp các chức năng tiêu chuẩn cho màn hình LCD:
LiquidCrystal () - tạo một biến kiểu LiquidCrystal và chấp nhận các tham số kết nối hiển thị (số chân), begin () - khởi tạo màn hình LCD, cài đặt các thông số (số dòng và ký hiệu);
clear () - xóa màn hình và đưa con trỏ về vị trí bắt đầu;
home () - đưa con trỏ về vị trí bắt đầu;
setCursor () - đặt con trỏ đến vị trí được chỉ định;
write () - hiển thị một ký tự trên màn hình LCD;
print () - hiển thị văn bản trên màn hình LCD;
con trỏ () - hiển thị con trỏ, tức là gạch chân dưới vị trí của ký tự tiếp theo;
noCursor () - ẩn con trỏ;
nhấp nháy () - con trỏ nhấp nháy;
noBlink () - hủy nhấp nháy;
noDisplay () - tắt màn hình trong khi lưu tất cả thông tin được hiển thị;
display () - bật màn hình trong khi lưu tất cả thông tin được hiển thị;
scrollDisplayLeft () - cuộn nội dung hiển thị sang trái 1 vị trí;
scrollDisplayRight () - cuộn nội dung hiển thị theo 1 vị trí sang phải;
autoscroll () - bật tính năng tự động cuộn;
noAutoscroll () - tắt tự động cuộn;
leftToRight () - đặt hướng của văn bản từ trái sang phải;
rightToLeft () - hướng văn bản từ phải sang trái;
createChar () - Tạo một ký tự tùy chỉnh cho màn hình LCD.
Bước 4
Hãy mở mẫu: Tệp -> Mẫu -> LiquidCrystal_I2C -> CustomChars và làm lại một chút. Hãy hiển thị một thông báo, ở cuối tin nhắn đó sẽ có một biểu tượng nhấp nháy. Tất cả các sắc thái của bản phác thảo được nhận xét trong phần bình luận cho mã.
Bước 5
Chúng ta hãy xem xét kỹ hơn vấn đề tạo ký hiệu riêng cho màn hình LCD. Mỗi nhân vật trên màn hình bao gồm 35 điểm: rộng 5 và cao 7 (+1 gạch dưới dành riêng). Trong dòng 6 của bản phác thảo trên, chúng tôi đặt một mảng gồm 7 số: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Hãy chuyển đổi số hex sang hệ nhị phân: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Những con số này chỉ là mặt nạ bit cho mỗi dòng trong số 7 dòng của ký tự, trong đó "0" biểu thị điểm sáng và "1" là điểm tối. Ví dụ, một biểu tượng trái tim được chỉ định làm mặt nạ bit sẽ xuất hiện trên màn hình như trong hình.
Bước 6
Tải bản phác thảo lên Arduino. Màn hình sẽ hiển thị dòng chữ mà chúng tôi đã chỉ định với một con trỏ nhấp nháy ở cuối.