HƯỚNG DẪN CƠ BẢN ARDUINO UNO R3 KẾT
NỐI I2C HIỂN THỊ THÔNG BÁO TRÊN LCD
1. Giới thiệu
Bài viết hướng dẫn các
bạn cách kết nối board mạch Arduino Uno R3 kết nối với I2C và LCD và thực hiện
lập trình trên Arduino để hiển thị thông báo trên màn hình LCD
2. Thiết bị phần cứng
- Arduino Uno R3
- Mạch điểu khiển
LCD
Hoạt động ổn định :
2.7-5.5V
- Module giao
tiếp I2C
LCD có quá nhiều nhiều
chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều
khiển.
Module I2C LCD ra đời và
giải quyết vấn để này cho bạn.
Thay vì phải sử dụng 6
chân vi điều khiển để kết nối với LCD 16x2 (RS, EN, D7, D6, D5 và D4) thì
module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối.
Module I2C hỗ trợ các
loại LCD sử dụng driver HD44780(LCD 16x2, LCD 20x4, ...) và tương thích với hầu
hết các vi điều khiển hiện nay.
3. Kết nối các thiết bị
4. Kết nối Arduino Uno
R3 với máy tính
Kết nối cổng USB từ
Arduino đến máy tính
Xác định Port Kết nối :
Chuột phải vào My computer trên máy tính => manager => Device manager check Port ( COM & LPT )
Cấu hình trên phần mềm
Arduino => mở phần mềm Arduino => chọn tool => chọn Board
Ở đây mình sử Dụng Board
Arduino Uno R3 => chọn Arduino
/Genuino Uno
Cài đặt thư viện
Trước khi có
thể tiếp tục, bạn phải cài đặt thư viện LiquidCrystal_I2C . Thư
viện này cho phép bạn điều khiển màn hình I2C bằng các chức năng rất giống với
thư viện LiquidCrystal.
Để cài đặt
thư viện, hãy điều hướng đến Phác thảo > Bao gồm Thư viện > Quản
lý Thư viện… Đợi Trình quản lý Thư viện tải xuống chỉ mục thư viện và cập
nhật danh sách các thư viện đã cài đặt.
Lọc tìm kiếm của bạn
bằng cách nhập ' liquidcrystal '. Hãy tìm thư viện LiquidCrystal
I2C của Marco Schwartz . Bấm vào mục đó và sau đó chọn Cài
đặt.
Xác định địa chỉ I2C
Như đã nêu
trước đây, địa chỉ I2C của màn hình LCD của bạn phụ thuộc vào nhà sản xuất. Nếu
bạn không chắc chắn địa chỉ I2C của LCD là gì, bạn có thể chạy bản phác thảo
máy quét I2C đơn giản để quét địa chỉ I2C và trả về địa chỉ của từng thiết bị
I2C mà nó tìm thấy. Bạn có thể tìm thấy bản phác thảo này trong File> Examples > Wire > i2c_scanner.
Tải bản phác thảo
i2c_scanner vào Arduino IDE của bạn.
Sau
khi bạn tải bản phác thảo lên, hãy khởi chạy màn hình nối tiếp ở tốc độ 9600
baud. Bạn sẽ thấy địa chỉ I2C của màn hình LCD I2C.
Nhập code
#include <LiquidCrystal_I2C.h> LiquidCrystal_I2C
lcd(0x27,16,2); void
setup() { lcd.init(); lcd.backlight(); lcd.setCursor(4,0); lcd.print("Admin"); lcd.setCursor(0,1); lcd.print("Xin
chao cac ban"); } void loop() { } |
Thực hiện upload code
trên thiết bị Arduino
Kết quả hiển thị thông
báo trên màn hình LCD
https://wokwi.com/projects/379994016785285121
Giải
thích mã:
Khởi tạo them
thư viện LiquidCrystal_I2C.
#include
<LiquidCrystal_I2C.h>
Hàm tạo
LiquidCrystal_I2C chấp nhận ba đầu vào: địa chỉ I2C, số cột và số hàng của màn
hình.
LiquidCrystal_I2C
lcd(
0x27,
16,
2);
Trong quá
trình thiết lập, ba chức năng được gọi.
Chức năng đầu tiên là init()
. Nó khởi tạo giao
diện với màn hình LCD.
Chức năng thứ hai là clear()
. Chức năng này
xóa màn hình LCD và đặt con trỏ ở góc trên bên trái.
Chức năng thứ ba, backlight()
, bật đèn nền LCD.
lcd.
init();
lcd.
clear();
lcd.
backlight();
Sau đó, hàm
này setCursor(2, 0)
được gọi để di chuyển
con trỏ đến cột thứ ba của hàng đầu tiên. Vị trí con trỏ xác định nơi bạn
muốn văn bản mới xuất hiện trên màn hình LCD. Giả sử rằng góc trên bên
trái là col=0
và row=0
.
lcd.
setCursor(
2,
0);
Tiếp theo, print()
hàm này được sử dụng để
in “Xin chào” tới màn hình LCD.
lcd.
print(
"Xin chào");
Tương tự,
hai dòng mã tiếp theo sẽ di chuyển con trỏ đến cột thứ ba của hàng thứ hai và
in 'Hướng dẫn LCD' ra màn hình LCD.
lcd.
setCursor(
2,
1);
lcd.
print(
"123");
Các chức năng hữu ích
khác của Thư viện LiquidCrystal_I2C
Có nhiều
chức năng hữu ích mà bạn có thể sử dụng với LiquidCrystal_I2C Object. Một
số trong số họ được liệt kê dưới đây:
lcd.home()
chức năng định vị con trỏ ở phía trên bên trái của màn hình LCD mà không xóa màn hình.lcd.blink()
hiển thị khối nhấp nháy 5×8 pixel tại vị trí mà ký tự tiếp theo sẽ được ghi.lcd.noBlink()
Chức năng tắt con trỏ LCD nhấp nháy.lcd.cursor()
hàm hiển thị dấu gạch dưới (dòng) tại vị trí mà ký tự tiếp theo sẽ được viết.lcd.noCursor()
chức năng ẩn con trỏ LCD.lcd.scrollDisplayRight()
chức năng cuộn nội dung của màn hình sang phải một khoảng trắng. Nếu bạn muốn văn bản cuộn liên tục, bạn phải sử dụng chức năng này trong mộtfor
vòng lặp.lcd.scrollDisplayLeft()
chức năng cuộn nội dung của màn hình sang trái một khoảng trắng. Tương tự như hàm trên, hãy sử dụng hàm này trongfor
vòng lặp để cuộn liên tục.lcd.noDisplay()
Chức năng tắt màn hình LCD mà không làm mất văn bản hiện được hiển thị trên màn hình.lcd.display()
chức năng bật màn hình LCD sau khi nó được tắt bằngnoDisplay()
. Thao tác này sẽ khôi phục văn bản (và con trỏ) trên màn hình.