Lompat ke konten Lompat ke sidebar Lompat ke footer

Arduino 14. Cara memprogram LCD 16x2

LCD atau Liquid Crystal Display merupakan suatu display yang gunanya menampilkan teks atau gambar. Teknologi LCD menggunakan Kristal cair, sehingga bisa dibuat lebih tipis. LCD banyak digunakan pada layar Handphone, Laptop, jam tangan, televisi dll. 

Dalam ujicoba kali ini  kita menggunakan LCD 16X2. Angka 16 adalah jumlah banyaknya kolom yaitu terdapat 16 kolom, dan angka 2 adalah banyaknya jumlah baris yaitu ada 2 baris (baris di atas dan di bawah). Rangkaiannya nanti akan seperti ini:


Bentuk LCD 16x2 bisa dilihat pada gambar di bawah ini :

 


Pada gambar terlihat bahwa LCD memiliki 16 pin yang memiliki fungsi-fungsi khusus. Adapun fungsi tiap pin bisa dilihat pada tabel berikut ini.

Setelah mengetahui fungsi tiap-tiap pin pada LCD maka kita sudah bisa menghubungkan kabel jumper antara LCD dengan Arduino Uno. Untuk rangkaiannya bisa dilihat pada gambar skema rangkaian di bawah ini :


Pada gambar terlihat ada komponen  potensiometer. Potensiometer ini adalah untuk mengatur tingkat kontras kecerahan lampu LCD. Putaran pada potensiometer ini akan mengeluarkan tegangan yang variabel mulai dari 0 volt s.d 5 volt pada pin 3 (VO) LCD. Perubahan nilai tegangan ini akan berpengaruh terhadap besar kecilnya kontras kecerahan lampu LCD.

Untuk pin  data LCD yang digunakan hanya 4 buah pin saja yaitu DB7, DB6, DB5 dan DB4. Sedangkan pin data yang lain tidak kita gunakan.

Untuk pin kontrol LCD yaitu RS, R/W, E bisa langsung dihubungkan ke pin arduino uno sesuai gambar skema rangkaian. Kita tidak perlu pusing mengatur pin kontrol LCD secara manual dengan logika 1 atau 0, karena semua sudah otomatis diatur oleh program yang terdapat pada  library <LiquidCrystal.h>. Jadi kita dimudahkan dalam sketch program cuma dengan sedikit setting maka kita bisa langsung menampilkan karakternya berupa huruf atau angka di LCD.

Jika telah selesai merakit rangkaian maka anda sudah bisa mengetikkan sketch programnya. Silahkan ketik sketch program seperti contoh di bawah ini :

 

// -----------------------------------------------
// Cara menghidupkan LCD display (2X16)
// Oleh : Hendry Kurniawan,S.Pd
// -----------------------------------------------
 
#include <LiquidCrystal.h>
 
// nomor pin arduino uno yang terhubung ke LCD
const int PIN_RS  = 12;
const int PIN_E   = 11;
const int PIN_DB_4 =  7;
const int PIN_DB_5 = 6;
const int PIN_DB_6 = 5;
const int PIN_DB_7 = 4;
 
// Penentuan pin kontrol & pin data pada LCD
LiquidCrystal lcd(PIN_RS, PIN_E, PIN_DB_4, PIN_DB_5, PIN_DB_6, PIN_DB_7);
 
void setup()
{
  // Tentukan ukuran LCD yaitu 2x16 (16 kolom dan 2 baris)
  lcd.begin(16, 2); 
}
 
void loop()
{
  lcd.clear(); //menghapus layar LCD
  lcd.setCursor(0, 0); // Set posisi di kolom 0 baris ke-0
  lcd.print("Arduino LCD 2X16"); // teks ini bisa diganti
  lcd.setCursor(0, 1); // Set posisi di kolom 0 baris ke-1
  lcd.print("--Elektronika--");  // teks ini bisa diganti
 
  delay(2000);  //tunda 2 detik
 
  lcd.clear();
  lcd.setCursor(4, 0); // Set posisi di kolom 4 baris ke-0
  lcd.print("Hendry. K"); // teks ini bisa diganti
  lcd.setCursor(5, 1); // Set posisi di kolom 5 baris ke-1
  lcd.print("Blogger"); // teks ini bisa diganti
 
  delay(2000);  //tunda 2 detik
}

Penjelasan program

#include <LiquidCrystal.h>

Digunakan untuk memasukkan library untuk LCD.

 

const int PIN_RS  = 12;
const int PIN_E   = 11;
const int PIN_DB_4 =  7;
const int PIN_DB_5 = 6;
const int PIN_DB_6 = 5;
const int PIN_DB_7 = 4;

Ini semua merupakan pin kontrol dan pin data yang digunakan untuk menghubungan LCD dengan  arduino.

 

void setup()
{
  // Tentukan ukuran LCD yaitu 16X2 (16 kolom dan 2 baris)
  lcd.begin(16, 2); 
}

Pada void setup kita harus memasukkan jenis LCD yang digunakan yaitu 16x2


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); // tunda selama 2000 mili detik = 2 detik.

Pada void loop ini kita lakukan pembersihan layar LCD terlebih dahulu dengan cara menghapus karakater yang ada dengan perintah lcd.clear(). Setelah itu tentukan posisi teks yang akan kita tuliskan dengan memasukkan data posisi kolom dan posisi baris. Penentuan posisi kolom dan baris bisa dilihat pada gambar di bawah ini:

 

Setelah menentukan posisi kolom dan baris, lanjutkan dengan printah mencetak teks tersebut ke dalam display LCD dengan perintah lcd.print(“…….”). Setiap penulisan teks selalu diapit dengan 2 buah tanda koma di atas. Setelah itu di tunda selama 2 detik.

 

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);

Setelah menampilkan teks yang pertama maka LCD akan menampilkan teks yang ke-2. Perintahnya sama saja, hanya saja poisisi teks di geser sedikit biar terlihat pada posisi center. Hal ini bisa kita atur pin kolomnya misalnya dengan angka 4 atau 5. Nilai ini bisa diubah-ubah sesuai keinginan.

Hasil dari pemograman tersebut bisa dilihat pada video dibawah ini :


Menampilkan angka pecahan desimal

Jika anda ingin menampilkan angka pecahan desimal pada LCD maka anda bisa mengatur berapa banyak angka yang akan di tampilkan di belakang koma. Contohnya anda bisa mengganti program diatas khusus pada bagian void loop seperti pada sketch program dibawah ini:


void loop()
{
  lcd.clear(); //menghapus layar LCD
  float bil = 43.57789;
  lcd.setCursor(0, 0); // Set posisi di kolom 0 baris ke-0
  lcd.print ("hasil = ");
  lcd.print (bil, 3);  //angka 3 merupakan banyaknya angka dibelakang koma
 
  delay(2000); // tunda selama 2000 mili detik = 2 detik.
  
  lcd.clear(); //menghapus layar LCD
  lcd.setCursor(0, 0); // Set posisi di kolom 0 baris ke-0
  lcd.print ("hasil = ");
  lcd.print (bil);  //tanpa angka maka otomatis 2 angka dibelakang koma
  delay(2000); 
}

Pada saat sketch program diatas dijalankan maka muncul  angka sebanyak 3 angka dibelakang koma, seperti ini : 

 


Sedangkan angka kedua  terdapat hanya 2 angka desimal dibelakang koma, jadi saat perintah  lcd.print (bil); tidak diberi angka maka secara otomatis akan ditulis 2 angka dibelakang koma dan ini akan terjadi pembulatan angka. 


Demikianlah cara-cara menghidupkan LCD 16x2. Pada pembahasan selanjutnya kita akan membuat animasi teks berjalan pada LCD dan nanti kita juga akan membahas cara menghidupkan LCD dengan menggunakan modul I2C agar perkabelan LCD ke Arduino bisa lebih sedikit sehingga rangkaiannya bisa menjadi lebih simpel dan sedehana.


1 komentar untuk "Arduino 14. Cara memprogram LCD 16x2"

  1. postongan yang bagus mas, sangat membatu, bagi saya yang belum tahu

    BalasHapus