Hướng dẫn sử dụng màn hình LCD 1602 I2C với Arduino Uno

LCD 1602 I2C là loại màn hình hiển thị 2 dòng, mỗi dòng 16 ký tự, sử dụng giao tiếp I2C để kết nối với vi điều khiển như Arduino Uno. Việc sử dụng module I2C giúp giảm số chân kết nối từ 12 xuống còn 4 chân, rất tiện lợi cho các dự án nhỏ gọn.

Hướng dẫn sử dụng màn hình LCD 1602 I2C với Arduino Uno

1. Giới thiệu

LCD 1602 I2C là loại màn hình hiển thị 2 dòng, mỗi dòng 16 ký tự, sử dụng giao tiếp I2C để kết nối với vi điều khiển như Arduino Uno. Việc sử dụng module I2C giúp giảm số chân kết nối từ 12 xuống còn 4 chân, rất tiện lợi cho các dự án nhỏ gọn.

2. Phần cứng cần chuẩn bị

- Arduino Uno

- Màn hình LCD 1602 I2C

- Dây nối

- Điện trở 220Ω (nếu dùng LED ngoài)

3. Sơ đồ kết nối

LCD I2C

Arduino Uno

VCC

5V

GND

GND

SDA

A4

SCL

A5

A circuit board with wires connected to it

AI-generated content may be incorrect.

4. Cài đặt thư viện trong Arduino IDE

- Mở Arduino IDE
- Vào menu: Sketch > Include Library > Manage Libraries
- Tìm và cài đặt thư viện: LiquidCrystal I2C

 

5. Code mẫu

Dưới đây là ví dụ cơ bản để hiển thị văn bản trên LCD và nhấp nháy LED:


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

#define I2C_ADDR 0x27
LiquidCrystal_I2C lcd(I2C_ADDR, 16, 2);
const int ledPin = 2;
unsigned long previousMillis = 0;
const long interval = 500;

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("WWW.PYWORLD.VN");
  lcd.setCursor(0, 1);
  lcd.print("Testing LCD...");
  pinMode(ledPin, OUTPUT);
}

void loop() {
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;
    digitalWrite(ledPin, !digitalRead(ledPin));
  }
}

 

6. Gợi ý kiểm tra địa chỉ I2C

Địa chỉ I2C phổ biến là 0x27 hoặc 0x3F. Nếu màn hình không hiển thị, bạn có thể sử dụng code I2C Scanner để xác định địa chỉ thực tế của module LCD.

7. Code kiểm tra địa chỉ I2C (I2C Scanner)

Nếu màn hình LCD không hiển thị gì hoặc không phản hồi, có thể địa chỉ I2C bạn đang dùng không đúng. Dưới đây là đoạn code I2C Scanner giúp bạn tìm đúng địa chỉ I2C của thiết bị:


#include <Wire.h>

void setup() {
  Wire.begin();
  Serial.begin(9600);
  while (!Serial);
  Serial.println("\nI2C Scanner");
}

void loop() {
  byte error, address;
  int count = 0;

  Serial.println("Scanning...");
  for (address = 1; address < 127; address++) {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0) {
      Serial.print("I2C device found at address 0x");
      if (address < 16) Serial.print("0");
      Serial.print(address, HEX);
      Serial.println("  !");

      count++;
      delay(10);
    }
  }

  if (count == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("Done\n");

  delay(5000);
}

 


Tin tức liên quan

Hướng Dẫn Sử Dụng Màn Hình OLED SSD1306 Với ESP8266 Dành Cho Người Mới Bắt Đầu
Hướng Dẫn Sử Dụng Màn Hình OLED SSD1306 Với ESP8266 Dành Cho Người Mới Bắt Đầu

328 Lượt xem

Trong bài viết này, chúng ta sẽ học cách kết nối và hiển thị thông tin trên màn hình OLED SSD1306 sử dụng ESP8266 (ví dụ: NodeMCU). Màn hình OLED rất phù hợp để hiển thị các thông tin nhỏ như văn bản, dữ liệu cảm biến hoặc trạng thái hệ thống trong các dự án IoT.

Hướng dẫn cơ bản dùng esp32 để điều khiển Relay 4 kênh
Hướng dẫn cơ bản dùng esp32 để điều khiển Relay 4 kênh

838 Lượt xem

ESP32 là vi điều khiển mạnh mẽ với khả năng kết nối Wi-Fi và Bluetooth, phù hợp cho các ứng dụng IoT. Trong hướng dẫn này, chúng ta sẽ sử dụng ESP32 Devkit V1 để điều khiển mạch relay 5V 4 kênh, giúp bật/tắt các thiết bị như đèn, quạt, bơm nước, và nhiều thiết bị điện khác.


Bình luận
Đã thêm vào giỏ hàng