Lompat ke konten Lompat ke sidebar Lompat ke footer

ESP32 PART-7. Kontrol LCD pada Modul I2C

Agar tampilan project arduino lebih menarik maka bisa menggunakan display LCD (Liquid Crystal Display).

LCD merupakan suatu prangkat output yang bisa menampilkan karakter atau gambar. Teknologi LCD menggunakan Kristal cair, sehingga dengan teknologi tersebut maka display bisa diubah lebih tipis di banding menggunakan display teknologi lama yaitu tabung gambar sinar katoda (CRT = Cathode Ray Tube). LCD banyak digunakan pada layar Handphone, Laptop, jam tangan, televisi dll.



Dalam artikel ini kita tidak menggunakan LCD besar tetapi cukup LCD kecil yaitu LCD 16X2 hal ini kita sesuaikan sebagai dasar pengenalan LCD. LCD 16X2 memiliki 2 baris yang tiap-tiap baris bisa memuat 16 karakter di bagian atas dan 16 karakter di bagian bawah. Bentuk LCD 16x2 bisa dilihat pada gambar di bawah ini :

 



Susunan pin dan keterangannya bisa dilihat pada tabel di bawah ini :


No. Pin Nama pin Keterangan
1 VSS Di hubungkan ke groud
2 VDD catu daya positif
3 V0 Pengatur kontras. Potensiometer bisa digunakan untuk mengatur tingkat kontras
4 RS Register select (RS =  HIGH untuk mengirim data dan RS = LOW untuk mengirim instruksi
5 R/W Read/Write control bus (R/W = HIGH untuk membaca data di LCD)
6 E Data Enable = HIGH supaya LCD dapat di akses
7 DB0 Data
8 DB1 Data
9 DB2 Data
10 DB3 Data
11 DB4 Data
12 DB5 Data
13 DB6 Data
14 DB7 Data
15 BLA catu daya + untuk layar
16 BLK catu daya - untuk layar


Jadi saat menghubungkan LCD dengan mikrokontroller (Arduino atau mikrokontroller lainnya) maka harus menghubungkan 16 pin paralel tersebut, Tentunya dengan menghubungan 16 kabel LCD ke Arduino terlihat tidak praktis dengan kabel yang rumit. Seperti gambar dibawah ini :

 


 

Untuk mengatasi kabel LCD yang banyak dan rumit maka dikembangkan modul IIC atau ada yang menamakan I2C. Singkatan IIC adalah inter Integrated Circuit. Dengan modul I2C maka komunikasi antara ESP32 dengan LCD bisa dilakukan transfer data dengan system serial singkron. Dengan sistem ini maka bisa menghemat banyak kabel. 

 

I2C yang kita gunakan adalah I2C LCD 1602A, bentuknya  bisa dilihat pada gambar di bawah ini:



Hanya dengan 4 buah kabel yaitu 2 kabel untuk SDA dan SCL dan 2 kabel untuk VCC dan ground maka LCD sudah bisa dinyalakan menggunakan ESP32 atau Arduino.


Cara pemasangan modul I2C pada LCD bisa di lihat pada gambar di bawah ini :



Jadi untuk  menghubungkan I2C LCD dengan ESP32 kita sambungkan kabel dari  GPIO22 ke pin SCL (modul I2C) dan GPIO21 ke pin SDA (modul I2C). sedangkan pin 5 Volt dan ground  I2C bisa dihubungkan dengan 5 volt (Vin ESP32) dan ground pada board ESP32. Untuk mengatur kecerahan LCD bisa diputar potensimeter pada modul I2C. 


Untuk sketch programnya kita harus menambah library I2C terlebih dahulu ke dalam aplikasi arduino IDE. Setelah librarynya dimasukkan maka silahkan ketik program seperti dibawah ini :

 


 

Program

/***********************************************

 Program dasar IIC pada LCD

 Oleh : Hendry Kurniawan,S.Pd

 ***********************************************/

 

#include <LiquidCrystal_I2C.h>     // Memasukkan library untuk I2C

LiquidCrystal_I2C lcd(0x27,16,2);  // Alamat default I2C adalah 0x27 menggunakan LCD 16x2

 

void setup() {

  lcd.init();                  // inisialisasi lcd

  lcd.backlight();        // Menyalakan lampu belakang

  lcd.clear();              // menghapus tampilan dan posisi kursor di atas kiri

  lcd.print("HENDRY KURNIAWAN "); // Tampilkan "HENDRY KURNIAWAN" pada posisi ini

  lcd.setCursor(0, 1);        // Atur kursor pada posisi awal

  // pada baris berikutnya

  lcd.print("--- ESP32 ---"); // Tampilkan "--- ESP32 ---" pada posisi ini

  }

void loop() {

  }

 

Hasil dari program diatas akan menampilkan tulisan LCD seperti pada gambar di bawah ini :

 



Untuk memodifikasinya silahkan diganti programnya dengan teks yang kita inginkan.

 

Untuk menampilkan animasi dasar LCD berikutnya maka bisa di coba pada sketch program di bawah ini :

 

/***********************************************

 Program animasi dasar IIC pada LCD

 Oleh : Hendry Kurniawan,S.Pd

 ***********************************************/

#include <Wire.h> //library I2C

#include <LiquidCrystal_I2C.h>    //library LCD

LiquidCrystal_I2C lcd(0x27,16,2); // set address I2C dan besar karakter untuk lcd 16×2

 

void setup()

  {

  lcd.init(); // inisiasi LCD

  }

 

void loop()

  {

  lcd.backlight();//menyalakan backlight

  lcd.clear();   // menghapus tampilan

  lcd.print("HENDRY KURNIAWAN");//menulis kata

  delay(2000);//menunggu 2000 milidetik

  lcd.clear();//menghapus tampilan LCD

  lcd.noBacklight();//mematikan backlight

  lcd.print("Lampu Mati");//menulis kata

  delay(2000);//menunggu 2000 milidetik

  lcd.clear();//menghapus tampilan LCD

  lcd.backlight();//menyalakan backlight

  lcd.print("Lampu Hidup");//menulis kata

  delay(2000);//menunggu 2000 milidetik

  lcd.clear();//menghapus tampilan LCD

  lcd.setCursor(0,0);//mengatur posisi kursor pada baris 1 posisi 0

  lcd.print("Baris satu");//menulis kata

  lcd.setCursor(3,1);//mengatur posisi kursor pada baris 2 posisi 3

  lcd.print("Geser Baris 2");//menulis kata

  delay(3000);//menunggu 3000 milidetik

  lcd.clear();//menghapus tampilan LCD

  }

 

Hasil penyalaannya dapat ditonton dalam video dibawah ini.

 


 

Demikianlah pembahasan tentang dasar-dasar penyalaan LCD menggunakan modul I2C pada mikrokontroller ESP32.

1 komentar untuk "ESP32 PART-7. Kontrol LCD pada Modul I2C"