Sebelumnya kita sudah mempelajari bagaimana membaca kondisi suhu dan kelembaban lingkungan sekitar dengan menggunakan sensor DHT 11 – https://helmydx.my.id/2024/02/09/antarmuka-sensor-dht-11-dengan-menggunakan-arduino. Pada artikel tersebut, hasil pembacaan sensor DHT 11 hanya ditampilkan lewat serial monitor saja sehingga Arduino harus selalu terhubung ke komputer atau laptop kita.
Tutorial ini akan membahas bagaimana cara menampilkan output berupa teks dari Arduino ke LCD 1602 dan diakhir tutorial ini, kita akan mampu menggunakan LCD 1602 sebagai output dan menggunakannya untuk project kita selanjutnya.
LCD 1602 I2C
LCD 1602 I2C adalah sejenis LCD (liquid Crystal Display) yang dapat menampilkan karakter berupa angka dan huruf. LCD ini terdiri dari 16 baris dan 2 kolom sehingga disebut dengan LCD 1602. Untuk koneksi ke Arduino, LCD ini sudah dilengkapi dengan modul I2C (Inter Integrated Circuit) yang hanya membutuhkan 2 pin untuk komunikasi dan 2 pin power saja sehingga menghemat penggunaan pin pada Arduino.

Inter Integrated Circuit (I2C)
Inter Integrated Circuit atau biasa disingkat I2C adalah standar komunikasi serial 2 arah untuk mengirimkan dan menerima data dengan menggunakan 2 saluran khusus. Sistem I2C terdiri dari 2 saluran yaitu SDA (Serial Data) dan SCL (Serial Clock). SDA berfungsi untuk mengirimkan dan menerima data sedangkan SCL berfungsi sebagai clock untuk mengatur aliran data dari dan ke microcontroller. Salah satu pengaplikasian sistem I2C ini sering kita temui pada modul LCD 1602, modul RTC (Real Time Clock) dan beberapa jenis modul lainnya.
Pinout pada LCD 1602 I2C
Seperti dijelaskan sebelumnya, pinout pada LCD 1602 I2C hanya terdiri dari 2 pin untuk komunikasi yaitu pin SDA dan SCL dan 2 pin power VCC dan GND.

Rangkaian Modul LCD 1602 dengan menggunakan Arduino
Merakit modul LCD 1602 dengan Arduino relatif mudah karena modul LCD nya hanya terdiri dari 4 buah pin saja.
LCD 1602 I2C | Arduino |
---|---|
VCC | 5V |
GND | GND |
SCL | pin SCL atau pin A5 |
SDA | pin SDA atau pin A4 |

Atau bisa juga seperti skema dibawah ini

Library LCD I2C
pemrograman LCD 1602 I2C membutuhkan library tambahan untuk mempermudah penulisan dan kontrol terhadap perangkat LCD, untuk menginstal library nya ikuti langkah-langkah sesuai gambar berikut.

Pastikan output pada Arduino IDE sudah seperti ini:

Program / Sketch
Setelah rangkaian dan library terinstal, maka langkah selanjutnya adalah memprogram Arduino agar dapat menampilkan tulisan di layar LCD. Ketikkan program dibawah ini pada halaman kerja Arduino IDE.
#include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); void setup() { lcd.init(); lcd.clear(); lcd.backlight(); lcd.setCursor(0,0); lcd.print("MAN 1 LANGKAT"); lcd.setCursor(0,1); lcd.print("Tutorial LCD"); } void loop() { }
Upload program ke dalam Arduino dan perhatikan hasilnya.
Penjelasan Program
#include <LiquidCrystal_I2C.h>
Menambahan / include library LCD I2C yang sebelumnya kita instal ke dalam program
LiquidCrystal_I2C lcd(0x27,16,2);
menentukan object lcd dengan parameter (0x27, 16, 2). Dimana 0x27 adalah alamat I2C pada LCD (jika alamat ini tidak berfungsi, coba gunakan alamat 0x3F), 16 adalah jumlah baris pada LCD dan 2 adalah jumlah kolom LCD.
lcd.init();
lcd.init() berfungsi untuk mengaktifkan kontrol LCD
lcd.clear();
lcd.clear() berfungsi untuk mengosongkan tampilan pada layar LCD agar teks tidak saling timpa antara teks sebelumnya dengan teks yang akan tampil
lcd.backlight();
lcd.bcaklight() akan mengaktifkan lampu layar pada LCD, jika fungsi ini tidak dimasukkan, maka LCD akan menjadi gelap
lcd.setCursor(0,0);
lcd.setCursor(0, 0) berfungsi untuk mengatur tata letak huruf yang akan tampil pada layar. fungsi ini memiliki 2 parameter dengan syntax lcd.setCursor(nomor_baris, nomor_kolom). nomor_baris digunakan untuk mengatur posisi awal huruf pertama dari teks yang akan kita buat. Penomoran susunan baris pada LCD 1602 dimulai dari angka 0. Supaya huruf tampil agak ketengah, kita tuliskan lcd.setCursor (2, 0) atau lcd.setCursor (3, 0) sesuai tata letak yang kita inginkan.
Sedangkan parameter nomor_kolom digunakan untuk menentukan posisi teks berada diatas atau dibawah layar. Seperti yang telah kita ketahui, LCD 1602 memiliki 2 kolom dimana kolom yang atas diberi notasi 0 dan kolom yang bawah diberi notasi 1. jadi jika kita ingin menampilkan suatu teks di kolom bagian atas, maka kita ketikkan lcd.setCursor(0, 0); sedangkan jika ingin teks tampil dibagian bawah LCD maka ketikkan lcd.setCursor(0, 1);
lcd.print("MAN 1 LKT");
lcd.print() berfungsi untuk menampilkan tulisan pada layar. Tulisan yang akan ditampilkan adalah teks atau nilai variabel yang berada didalam kurung. Pada baris program diatas, lcd.print() akan menampilkan teks bertuliskan MAN 1 LKT pada layar. Posisi teks sudah diatur pada baris program diatasnya yaitu teks ada dibagian kiri atas layar LCD karena fungsi lcd.setCursor(0, 0).
Selanjutnya, silahkan mengekplorasi lebih jauh tentang penggunaan LCD ini dengan cara memanipulasi perintah-perintah yang sudah dijelaskan diatas. Sampai disini dulu tutorial nya sampai jumpa di tutorial berikutnya.
Selamat belajar.