Danu Andrean, 16 Dec 2025

Cara akses Lcd 16x2 I2C Dengan Esp32

Penjelasan Gambar

Dalam pengembangan sistem embedded dan IoT, tampilan lokal sering dibutuhkan untuk menampilkan status perangkat, nilai sensor, atau informasi debugging tanpa harus membuka serial monitor. Salah satu solusi paling sederhana dan hemat pin adalah menggunakan LCD 16×2 dengan modul I2C.

Kenapa Menggunakan LCD 16×2 I2C?

LCD 16×2 versi paralel membutuhkan 6–8 pin, sedangkan versi I2C hanya membutuhkan 2 pin data.

Keuntungan utama:
  • Hemat pin GPIO ESP32
  • Wiring lebih sederhana
  • Cocok untuk sistem IoT yang kompleks
  • Bisa dipakai bersamaan dengan sensor lain
Perangkat yang Dibutuhkan
  • ESP32 (Dev Module / WROOM / WROVER)
  • LCD 16×2 + Modul I2C (PCF8574)
  • Kabel jumper
  • Arduino IDE

Prinsip Kerja I2C

I2C (Inter-Integrated Circuit) menggunakan dua jalur:

  • SDA → Data
  • SCL → Clock

ESP32 mendukung I2C secara hardware dan pin-nya bisa dipetakan ulang.

Koneksi ESP32 ke LCD 16×2 I2C

PHESP32
VCC5V (sesuai modul)
GNDGND
SDAGPIO 21
SCLGPIO 22

 

Penjelasan Gambar

Menentukan Alamat I2C LCD

Alamat I2C tidak selalu sama. Umumnya:

  • 0x27
  • 0x3F

Gunakan I2C Scanner untuk memastikan alamat.

Kode I2C Scanner:

#include <Wire.h>

void setup() {
  Serial.begin(115200);
  Wire.begin(21, 22);

  Serial.println("Scanning I2C...");
  for (byte address = 1; address < 127; address++) {
    Wire.beginTransmission(address);
    if (Wire.endTransmission() == 0) {
      Serial.print("I2C device found at 0x");
      Serial.println(address, HEX);
    }
  }
}

void loop() {}

Library yang Digunakan

Gunakan library:

  • LiquidCrystal_I2C

Install melalui:

Arduino IDE → Library Manager → LiquidCrystal I2C -> by Frank de Brabander
Penjelasan Gambar
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Ganti 0x27 sesuai hasil scan
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();
  lcd.backlight();

  lcd.setCursor(0, 0);
  lcd.print("Hello Developer");

  lcd.setCursor(0, 1);
  lcd.print("I2C Ready");
}

void loop() {
}

Tips dan Masalah Umum

  1. LCD Menyala Tapi Tidak Ada Teks
  • Alamat I2C salah
  • Kontras belum disetel (putar trimpot di modul)
  1. LCD Berkedip atau Error
  • Power supply tidak stabil
  • Kabel terlalu panjang

Penutup

LCD 16×2 I2C tetap menjadi solusi display sederhana yang efisien dan handal untuk ESP32. Dengan pemahaman I2C dan manajemen tampilan yang baik, LCD ini sangat cocok untuk berbagai proyek embedded dan IoT. Happy Hacking!! 🎉🎉🎉



#arduino #esp32 #lcd


Kategori yang serupa