Membuat Running Text pada LCD I2C Menggunakan Arduino UNO
Dalam pengembangan proyek berbasis mikrokontroler, tampilan informasi pada layar menjadi bagian penting agar pengguna dapat mengetahui kondisi sistem secara langsung. Salah satu perangkat output yang sering digunakan adalah LCD (Liquid Crystal Display). LCD dapat digunakan untuk menampilkan teks, angka, maupun informasi sensor. Agar penggunaan pin Arduino lebih efisien, LCD biasanya dikombinasikan dengan modul I2C (Inter Integrated Circuit) sehingga hanya membutuhkan dua jalur komunikasi, yaitu SDA dan SCL.Salah satu implementasi menarik dari LCD I2C adalah membuat running text atau tulisan berjalan. Running text merupakan tampilan tulisan yang bergerak secara otomatis dari kanan ke kiri atau sebaliknya pada layar LCD. Teknik ini berguna untuk menampilkan teks panjang yang tidak muat ditampilkan sekaligus pada LCD 16×2. Misalnya menampilkan nama institusi, informasi sistem, maupun pesan tertentu.
Pada praktikum ini digunakan LCD 16×2 I2C yang berarti LCD memiliki 16 kolom dan 2 baris. LCD dihubungkan ke Arduino menggunakan komunikasi I2C sehingga jumlah kabel menjadi lebih sedikit dibanding LCD biasa.
Komponen yang Digunakan
Berikut komponen yang diperlukan untuk membuat running text menggunakan Arduino:
- Arduino UNO atau Nano
- LCD 16×2 I2C
- Kabel jumper
- Kabel USB Arduino
- Koneksi Pin LCD I2C ke Arduino
Agar LCD dapat berfungsi dengan baik, perlu dilakukan penyambungan pin sebagai berikut:
Penjelasan Program
Program diawali dengan pemanggilan library:
#include <Wire.h>#include <LiquidCrystal_I2C.h>
- Library Wire.h digunakan untuk komunikasi I2C,
- LiquidCrystal_I2C.h digunakan untuk mengontrol LCD berbasis I2C.
Selanjutnya dilakukan inisialisasi LCD:
LiquidCrystal_I2C lcd(0x27, 16, 2);Kode tersebut menunjukkan bahwa LCD menggunakan alamat I2C 0x27, dengan ukuran 16 kolom dan 2 baris. Pada beberapa LCD, alamat dapat berbeda menjadi 0x3F.
Pada fungsi setup(), LCD diaktifkan menggunakan:
lcd.init();
lcd.backlight();Perintah lcd.init() digunakan untuk menginisialisasi LCD agar siap digunakan, sedangkan lcd.backlight() berfungsi menyalakan lampu latar LCD.
Di dalam fungsi loop(), pertama dilakukan:
lcd.clear();Perintah tersebut digunakan untuk membersihkan layar LCD agar tampilan sebelumnya tidak bertumpuk.
Selanjutnya digunakan:
lcd.setCursor(16,0);Fungsi lcd.setCursor() digunakan untuk menentukan posisi awal tulisan pada LCD. Angka 16 menunjukkan posisi di luar sisi kanan layar, sedangkan angka 0 menunjukkan baris pertama. Dengan cara ini, tulisan tampak masuk dari sisi kanan ketika digeser.
Kemudian teks ditampilkan menggunakan:
lcd.print("UNIVERSITAS UMRI");Pada baris kedua digunakan:
lcd.setCursor(16,1);
lcd.print("PVTE FKIP UMRI");Angka 1 menunjukkan posisi pada baris kedua LCD.
Efek running text dibuat dengan perulangan:
for (int i = 0; i < 35; i++) {
lcd.scrollDisplayLeft();
delay(300);
}
Perintah lcd.scrollDisplayLeft() digunakan untuk menggeser tampilan LCD ke kiri sebanyak satu langkah. Sementara itu, delay(300) memberikan jeda selama 300 milidetik agar pergeseran tulisan terlihat jelas. Nilai 35 menunjukkan jumlah pengulangan geser sehingga seluruh teks dapat tampil secara penuh di layar.