Post Top Ad

Post Top Ad

Memasang LCD

Memasang LCD

Dalam  hal  ini  kita  akan  menyiapkan  LCD  untuk  menampilkan informasi  suhu  yang  telah  kita buat.  Sebab  melihat  in formasi  suhu dengan komputer tentu kurang praktis bukan?

LCD  merupakan  singkatan  dari  Liquid  Crystal  Display,  atau umumnya disebut dengan LCD atau display saja. Di pasaran beragam jenis  LCD  dan  berbagai  ukuran  yang  bisa  Anda  gunakan.  LCD bisa untuk  menampilkan  huruf  dan  angka,  bahkan  ada  yang  bisa  untuk menampilkan gambar.

Dalam ebook ini, kita akan berkenalan dengan LCD yang umum digunakan  dan  harganya  juga relatif terjangkau.  LCD  ini  berukuran 16x2  (2  baris  16  kolom)  yang  cukup  untuk  menampilkan informasi suhu atau informasi yang tidak terlalu panjang. LCD ini dikenal juga dengan LCD 1602 dengan beberapa varian seperti 1602A, dll.

LCD  ini  bisa  bekerja  pada  5  volt,  sehingga  Anda  bisa menyambungkannya secara langsung ke pin VCC pada board Arduino. Perlu  diperhatikan,  jika  Anda  menggunakan  LCD  jenis  lainnya, ada juga LCD yang bekerja pada voltase yang berbeda. Sehingga kesalahan pemasangan sumber tegangan bisa membuat LCD rusak.

LCD 1602
LCD 1602
LCD 1602 memiliki 16 pin dengan fungsi-fungsi sebagai berikut:
Berdasarkan  karakteristik  tersebut,  maka  semua  pin  akan digunakan  kecuali  pin  D1  –  D3 sebab kita  akan  menggunakan  jalur data  untuk  transfer  4  bit  atau  8  bit.  Penjelasan  singkat  tentang RS, R/W, dan E:

-  RS  merupakan  kependekan  dari  Register  Selector,  pin  ini berfungsi  untuk  memilih  register control  atau  register  data. Register  control  digunakan  untuk  mengkonfigurasi  LCD, sedangkan register  data  digunakan  untuk  menuliskan  data berupa karakter untuk ditampilkan di LCD.
-  R/W atau  Read/Write, digunakan untuk memilih aliran data mikrokontroller  akan  membaca  data   yang  ada  di  LCD  atau menuliskan  data  ke  LCD.  Jika  LCD  hanya  digunakan  untuk menulis  /   menampilkan  data,  maka  pin  ini  bisa  langsung disambungkan ke GND sehingga logika bisa diset   menjadi L (Low).
-  E  atau  Enable,  digunakan  untuk  mengaktifkan  LCD  ketika proses penulisan data ke register     control dan regiter data.

Rangkaian Dasar LCD 1602

Untuk  merangkai  LCD,  yang  Anda  butuhkan  adalah  beberapa kabel  jumper  dan  sebuah potensiometer.  Potensiometer  ini  berfungsi untuk mengatur kontras backlight LCD. Perhatikan Rangkaian 5.2.
Menghubungkan LCD 1602 ke Arduino
Menghubungkan LCD 1602 ke Arduino
1.  Pin  V0  pada  LCD  disambungkan  ke  kaki  tengah potensiometer,  sementara  masing-masing kaki  potensiometer yang  ada  di  pinggir  disambungkan  ke  VCC  dan  GND.  Jika nanti  tampilan tulisannya  kurang  jelas,  silakan  putar-putar potensiometernya.
2.  Pin R/W pada LCD disambungkan ke GND
3.  Pin RS pada LCD disambungkan ke pin 6 pada Arduino
4.  Pin E pada LCD disambungkan ke pin 7 pada Arduino
5.  Pin untuk data (D4 – D7) pada LCD disambungkan ke pin 9 –12 pada Arduino
6.  VDD dan A pada LCD disambungkan ke +5v
7.  VSS dan K pada LCD disambungkan ke GND


Program Dasar LCD

Sketch  Program LCD dasar

// Free Ebook Arduino
// www.elangsakti.com 
// coder elangsakti

#include <LiquidCrystal.h>

// Setting LCD RS E D4 D5 D6 D7
LiquidCrystal lcd(7, 6, 9, 10, 11, 12);

void setup(){
// pilih LCD 16 x 2
lcd.begin(16,2);
lcd.print("ELANGSAKTI.COM");
}

int hitung = 0;
void loop(){
// pindah ke baris kolom 1 baris ke 2
// array selalu dimulai dari 0
lcd.setCursor(0,1);
lcd.print( hitung++ );
delay(1000);
}

Pada Arduino kita bisa menggunakan library untuk menulis LCD. Library  tersebut  adalah LiquidCrystal.h.  Untuk  menggunakan  library tersebut Anda bisa meng-include-nya seperti pada baris ke-8.

// Setting LCD RS E D4 D5 D6 D7 
LiquidCrystal lcd(7, 6, 9, 10, 11, 12);

Perintah pada baris 8  adalah untuk melakukan setting LCD sesuai dengan library yang dipakai. Fungsi  lcd()  adalah instansiasi dari class LiquidCrystal  yang  dipanggila  pada  baris  ke-8 memiliki parameter berturut-turut  pin  RS,  E,  D4,  D5,  D6,  dan  D7.  Jika  Anda  ingin menggunakan formal lainnya, maka Anda bisa menggunakan beberapa pilihan parameter seperti di bawah ini:

LiquidCrystal(RS, E, D0, D1, D2, D3);
LiquidCrystal(RS, RW, E, D0, D1, D2, D3);
LiquidCrystal(RS, E, D0, D1, D2, D3, D4, D5, D6, D7);
LiquidCrystal(RS, RW, E, D0, D1, D2, D3, D4, D5, D6, D7);

Selanjutnya perhatikan baris ke-12

// pilih LCD 16 x 2
lcd.begin(16,2);

Fungsi begin(kolom, baris, charsize)  memiliki 2 parameter wajib dan 1  parameter  tambahan. Parameter  wajibnya  adalah  informasi  kolom dan  informasi  baris  pada  LCD.  Sedangkan informasi  tambahannya adalah  charsize  untuk  masing-masing  karakter  yang  akan  digunakan. Standarnya,  charsize  berukuran  5x8  pixel  untuk  setiap  karakter,  jika Anda  memiliki  LCD dengan  pixel  yang  berbeda,  silakan disesuaikan.Fungsi  begin()  juga digunakan untuk inisialisasi jenis LCD yang  akan  digunakan.  Mungkin  ini  agak  mirip  dengan  Serial.begin() yang  berfungsi untuk  inisialisasi  komunikasi  serial  dengan  parameter berupa baud rate yang akan digunakan. 

// pindah ke baris kolom 1 baris ke 2
// array selalu dimulai dari 0
lcd.setCursor(0,1);
lcd.print( hitung++ );

Fungsi  setCursor(kolom,  baris)  berfungsi  untuk  memindah  kursor aktif  sesuai  kolom  dan  baris yang  kita  tentukan.  Kolom  ke-0  berarti kolom  ke  1  pada  LCD  (ingat,  angka  pertama  dalam array  adalah  0, bukan 1), sedangkan baris ke-1 berarti adalah baris ke 2 pada LCD. 

Pada baris ke-21, kenapa menggunakan print() dan bukan println()? Penggunaan  println()  dalam LCD  maka  akan  secara  otomatis menambahkan 2 karakter tambahan untuk pindah baris (CR dan LF), maka jika Anda menggunakan  println(), akan muncul 2 karakter anehpada LCD. Jadi, gunakanlah print() untuk menulis ke LCD.