Trong bài học này, bạn sẽ học cách đấu dây và sử dụng màn hình LCD hiển thị chữ và số thông qua giao tiếp I2C
(1) x Arduino Uno R3
(1) x Màn hình LCD 16x02 (có giao tiếp I2C)
(4) x Dây cắm đực - cái
LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).
5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.
Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.
LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm.
LCD có quá 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 mất 6 chân vi điều khiển để kết nối với LCD 16×2 (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 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay.
Hiển thị một dãy ô vuông.
Màn hình chỉ in ra một ký tự đầu.
Màn hình nhấp nháy.
Các lỗi này chủ yếu là do sai địa chỉ bus, để fix lỗi các bạn thay địa chỉ mặc định là “0x27” thành “0x3F.
Trong trường hợp vẫn không được các bạn fix lỗi bằng cách nạp code tìm địa chỉ bus của I2C.
Sau khi tìm xong các bạn thay địa chỉ vừa tìm được vào vị trí “0x27” là xong.
Các bạn có thể tải code tìm địa chỉ bus ở bên dưới
Kết nối cảm biến LCD-I2C với mạch Arduino:
LCD-I2C -- Arduino
GND GND
Vcc 5V
SDA A4
SCL A5
Cài thư viện:
Tools/Manage Libraries --> Tìm LiquidCrystal_I2C --> Install
Đoạn code này xuất ra màn hình Serial Monitor địa chỉ bus của I2C
Đoạn code hiển thị
Lời chào trong 5 giây
Số đếm tăng dần ở hàng 1
Tọa độ x, y ở hàng 2