Lompat ke konten Lompat ke sidebar Lompat ke footer

Arduino Part 15. Running teks LCD 2X16 dengan modul I2C

Membuat running text menggunakan LCD 2X16 yang dikontrol oleh Arduino Uno. LCD diberi tambahan modul Inter Integrated Circuit (IIC atau I2C) agar supaya bisa lebih hemat penggunaan kabel.

Jika menggunakan I2C + LCD maka cukup 4 buah kabel saja yang terhubung ke arduino, bandingkan dengan cara pemasangan LCD di artikel Arduino Part 14. Cara memprogram LCD 16X2 yang membutuhkan kabel sebanyak 12 buah kabel. Jauh berbeda bukan?

 


Untuk praktik ujicoba kali ini kita membutuhkan peralatan dan komponen yaitu:

  • Arduino Uno
  • Modul I2C
  • LCD 2X16
  • Komputer PC/Laptop

Bentuk LCD bisa dilihat pada gambar di bawah ini:

 



Bentuk modul IIC atau I2C adalah seperti ini

 


Jadi pada I2C hanya terdapat 5 pin yang terdiri dari : GND, VCC, SDA, SCL yang terhubung ke arduino. Sedangkan 16 pin I2C langsung dihubungkan ke soket LCD. Pada modul I2C terdapat trimpot warna biru, fungsinya adalah untuk mengatur kontras LED. Jadi silahkan diputar trimpotnya hingga mendapatkan kecerahan kontras LCD yang terbaik.

 

Harga modul I2C tidak terlalu mahal, kalau anda mencari di belanja online harga modul I2C sekitar Rp. 7.000,- Jika ingin satu set LCD+I2C harganya sekitar Rp.30.000 – Rp.40.000.

 

Gambar dibawah ini saat LCD sudah dipasang modul I2C

 


Jika peralatan dan komponen sudah lengkap maka rakitlah rangkaian seperti gambar rangkaian di bawah ini :

 

Sebelum kita membuat sketch program maka silahkan tambah dulu library arduinonya. Caranya anda download file  library I2C dalam bentuk zip. Linknya : Library I2C. Lalu anda tambahkan library tersebut dengan cara pilih menu : Sketch >> Include Library >> Add.ZIP Library, lalu carilah file library I2C yang telah anda download tadi.

 

Setelah selesai menambahlan library, maka saatnya anda ujicoba rangkaian dengan membuat sketch program arduino seperti dibawah ini :


// -----------------------------------------------
// LCD display (2X16) dgn modul I2C
// Oleh : Hendry Kurniawan,S.Pd
// hubungkan pin A4 arduino uno ke SDA I2C
// dan pin A5 arduino uno ke SCL I2C
// pin +5 volt arduino uno ke VCC I2C
// pin GND arduino uno ke GND I2C
//-----------------------------------------------
#include <LiquidCrystal_I2C.h>     // Memasukkan library untuk I2C
LiquidCrystal_I2C lcd(0x27,16,2);  // Alamat default I2C = 0x27 dgn LCD 16x2
 
void setup()
{
  lcd.init();            // inisialisasi lcd
  lcd.backlight();  // Menyalakan lampu belakang
 }
 
void loop()
{
  lcd.clear(); //menghapus layar LCD
  lcd.setCursor(0, 0); // Set posisi di kolom 0 baris ke-0
  lcd.print("Arduino LCD 2X16");
  lcd.setCursor(0, 1); // Set posisi di kolom 0 baris ke-1
  lcd.print("--Elektronika--");
 
  delay(2000);
 
  lcd.clear();
  lcd.setCursor(4, 0); // Set posisi di kolom 4 baris ke-0
  lcd.print("Hendry. K");
  lcd.setCursor(5, 1); // Set posisi di kolom 5 baris ke-1
  lcd.print("Blogger");
 
  delay(2000);
}

 

Hasilnya bisa dilihat pada video ini :

 

 

EFEK SCROLLING KE-1

Animasi teks LCD bisa di scroll atau digulirkan dari arah kiri atau dari arah kanan. Perintahnya adalah :

scrollDisplayLeft (); untuk menggeser seluruh teks ke kiri satu kolom

scrollDisplayRight (); untuk menggeser seluruh teks ke kanan satu kolom

 

Silahkan anda coba sketch program dibawah ini :

 

// -----------------------------------------------------

//    Animasi Scrolling Teks LCD dgn modul I2C

//    baik ke kiri maupun ke kanan

//    menggunakan scrollDisplayLeft() dan

//    scrollDisplayRight()

// -----------------------------------------------------

 

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

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

 

void setup()

{

  lcd.init(); // inisialisasi lcd

  lcd.backlight(); // Menyalakan lampu belakang

  lcd.clear();  //menghapus layar LCD

  lcd.setCursor(0, 0); // Set posisi di kolom 0 baris ke-0

  lcd.print("0123456789-Angka");

  lcd.setCursor(0, 1); // Set posisi di kolom 0 baris ke-1

  lcd.print("ABCDEFGHIJ-Huruf");

  delay(2000);

}

 

void loop()

{

  // Gerak ke kiri

  for (int j = 1; j <= 16; j++) 

  {

    lcd.scrollDisplayLeft();

    delay(500);

  }

 

  // Gerak ke kanan

  for (int j = 1; j <= 16; j++)

  {

    lcd.scrollDisplayRight();

    delay(500);

  }

 

  delay(2000); // Untuk menunda tampilan

}

 

Hasil program ini bisa di lihat pada video dibawah ini :

 


 

EFEK SCROLLING KE-2

Silahkan dicoba efek scrolling lainnya dengan 2 teks yang berbeda. Seketch Programnya sebagai berikut :

 

// -----------------------------------------------------

//    Animasi ke-2 Scrolling Teks LCD dgn modul I2C

//    baik ke kiri maupun ke kanan

//    menggunakan scrollDisplayLeft() dan

//    scrollDisplayRight()

// -----------------------------------------------------

 

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

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

 

void setup()

{

  lcd.init(); // inisialisasi lcd

  lcd.backlight(); // Menyalakan lampu belakang

}

 

void loop()

{

  // Informasi pertama

  lcd.home();

  lcd.clear();

  lcd.setCursor(0, 0); // Set posisi di kolom 0 baris ke-0

  lcd.print("Arduino LCD 2X16");

  lcd.setCursor(0, 1); // Set posisi di kolom 0 baris ke-1

  lcd.print("--Elektronika--");

 

  delay(5000);

 

  // Gerak ke kiri

  for (int j = 1; j <= 16; j++)

  {

    lcd.scrollDisplayLeft();

    delay(100);

  }

 

  // Informasi kedua

  lcd.home();

  lcd.clear();

  lcd.setCursor(4, 0); // Set posisi di kolom 4 baris ke-0

  lcd.print("Hendry. K");

  lcd.setCursor(5, 1); // Set posisi di kolom 5 baris ke-1

  lcd.print("Blogger");

 

  delay(5000);

 

  // Gerak ke kanan

  for (int j = 1; j <= 16; j++)

  {

    lcd.scrollDisplayRight();

    delay(100);

  }

}


Hasil program ini bisa dilihat pada video dibawah ini :



RUNNING TEXT

 

Silahkan ujicoba sketch dibawah ini guna menampilkan teks berjalan (running text).

// -----------------------------------------------

// Running Text untuk menampilkan tulisan yang panjang

// dan berkesan tergulir

// menggunakan LCD dengan modul I2C

// Oleh : Hendry Kurniawan

//-----------------------------------------------

 

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

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

 

// Definisikan string

String teks = "Selamat mempelajari cara memprogram LCD Display. ";

 

int indeks = 0;

 

void setup()

{

  lcd.init(); // inisialisasi lcd

  lcd.backlight(); // Menyalakan lampu belakang

  lcd.clear();

  lcd.print("Info untuk Anda:"); 

 

  // Bentuk string yang panjang

  teks = teks +

         "Cobalah semua contoh di www.elektronikahendry.com -  " +

         "Kemudian, Anda bisa mengembangkannya sendiri " +

         "sesuai dengan ide Anda. Sekali lagi, selamat belajar " +

         "dan sukses selalu!";

}

 

void loop()

{

  char st[17];  // String dengan maksimal 16 karakter

  st[16] = 0;   // Akhir string

 

  // Bentuk string

  for (int j = 0; j < 16; j++)

    if (indeks + j < teks.length())

      st[j] = teks[indeks + j];

    else 

      st[j] = 32; // Spasi

 

  // Tampilkan di baris kedua

  lcd.setCursor(0, 1);

  lcd.print(st);

 

  // Peroleh indeks berikutnya

  indeks++;

  if (indeks == teks.length() -  1)

    indeks = 0;

   

  delay(600); 

}

 

Hasil dari program di atas bisa dilihat pada video ini :

 


Demikianlah cara membuat animasi dan running text pada LCD menggunakan modul I2C dan Arduino uno.

1 komentar untuk "Arduino Part 15. Running teks LCD 2X16 dengan modul I2C"

  1. Saya coba program yg paling bawah tp error terus knp ya?
    Apa yg salah?🙏🙏🙏

    BalasHapus