Search Code

Hướng dẫn sử dụng LCD1602 với giao diện I2C - Arduino

Hướng dẫn sử dụng LCD1602 với giao diện I2C - Arduino

Hướng dẫn này trình bày cách kết nối màn hình LCD 1602 với Arduino bằng mô-đun I2C, giúp việc kết nối dễ dàng và gọn gàng hơn so với cách nối dây song song truyền thống. Chỉ với bốn kết nối (VCC, GND, SDA, SCL), bạn có thể điều khiển hoàn toàn màn hình và hiển thị văn bản hoặc dữ liệu cảm biến trong các dự án Arduino của mình.

LCD1602-I2C display module with 4 wires

Tất cả mã cần thiết, sơ đồ nối dây và liên kết tải thư viện được cung cấp bên dưới bài viết này.

LCD1602 với I2C là gì?

LCD1602 là màn hình 16 ký tự, 2 hàng thường được sử dụng trong các hệ thống nhúng. Thông thường, nó cần 6 đến 10 chân để hoạt động, nhưng bằng cách thêm mô-đun I2C, chỉ cần hai đường dữ liệu (SDA và SCL) để giao tiếp. Điều này giúp đơn giản hóa việc nối dây và để lại nhiều chân trống hơn trên Arduino cho các linh kiện khác.

Kết nối LCD1602 với Arduino

Arduino wirng for LCD1602 with I2C
Arduino wirng for LCD1602 with I2C

Dưới đây là cách nối dây LCD1602 với mô-đun I2C vào Arduino Uno:

  • VCC- 5V

  • GNDGND

  • SDAA4

  • SCL -A5

Chú thích: LCD1602 được kết nối với Arduino qua I2C chỉ bằng 4 dây.

- Giải thích mã hiển thị văn bản trên LCD

Mã dưới đây khởi tạo LCD, bật đèn nền và in văn bản trong một vòng lặp.

cppCopyEdit#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

// Đặt địa chỉ LCD là 0x27 cho màn hình 16 ký tự và 2 dòng
LiquidCrystal_I2C lcd(0x27, 16, 2);

  • Wire.h: Cần thiết cho giao tiếp I2C.

  • LiquidCrystal_I2C.h: Thư viện điều khiển LCD bằng I2C.

  • lcd(0x27, 16, 2): Khởi tạo LCD tại địa chỉ 0x27 với 16 cột và 2 hàng.

cppCopyEditvoid setup()
{
  lcd.begin();       // Khởi tạo LCD
  lcd.backlight();   // Bật đèn nền
}

  • lcd.begin() chuẩn bị LCD để sử dụng.

  • lcd.backlight() bật đèn nền của màn hình.

cppCopyEditvoid loop()
{
  lcd.clear();                 // Xóa nội dung trước đó
  lcd.print("Robojax");        // In trên dòng đầu tiên
  lcd.setCursor(0,1);          // Di chuyển con trỏ đến đầu dòng thứ hai
  lcd.print("Hello World!");   // In trên dòng thứ hai
  delay(500);                  // Chờ 0,5 giây
}

  • Màn hình được làm mới mỗi nửa giây.

  • Bạn cũng có thể hiển thị dữ liệu khác, như thời gian hoặc giá trị cảm biến.

Cài đặt thư viện cần thiết

Bạn phải cài đặt thư viện LiquidCrystal_I2C:

  1. Mở Arduino IDE

  2. Đi tới Sketch > Include Library > Manage Libraries

  3. Tìm kiếm LiquidCrystal_I2C

  4. Nhấp vào Install

Sau khi cài đặt, bạn đã sẵn sàng để biên dịch và tải mã lên.

Các chương trong video

  • 00:00 - Bắt đầu

  • 00:35 -Giải thích về LCD1602 và Mô-đun I2C

  • 04:37 -Giải thích cách nối dây

  • 05:35 -Tải thư viện LCD1602-I2C

  • 07:13 -Giải thích mã cho LCD1602

 

 

Hình ảnh

Arduino wirng for LCD1602 with I2C
Arduino wirng for LCD1602 with I2C
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
LCD1602-I2C display module with 4 wires
63-This is code for an LCD1602 display with an I2C module.
Ngôn ngữ: C++
/*
This is code for LCD1602 Display with I2C module
 * Watch the video for this code https://youtu.be/q9YC_GVHy5A
 
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * This library is based on work done by DFROBOT (www.dfrobot.com).
 */
/*
 *  This code has been modified from the Arduino library
 *  Updated by Ahmad Nejrabi on Jan 20, 2018 at 11:09
 *  in Ajax, Ontario, Canada
 *  for Robojax.com
 *  
 *  This is code for LCD1602 Display with I2C module
 *  which can display text on the screen.
 */
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
  // Robojax code for LCD with I2C
	// initialize the LCD, 
	lcd.begin();
 
	// Turn on the backlight and print a message.
	lcd.backlight();
  // Robojax code for LCD with I2C


}

void loop()
{
  
  //start of loop Robojax code for LCD with I2C
  lcd.clear();
  lcd.print("Robojax");
  lcd.setCursor (0,1); // go to start of 2nd line
 lcd.print("Hello World!");
  //lcd.print(millis() / 1000);
  delay(500);
 //end of loop Robojax code for LCD with I2C
}

Nghĩ bạn có thể cần

Tài nguyên & tài liệu tham khảo

Tập tin📁

Thư viện Arduino (tệp nén)

Tập tin Fritzing