MIKROKONTROLER
“LIQUID CRYSTAL DISPLAY”
1
DAFTAR ISI
2
LIQUID CRYSTAL DISPLAY (LCD)
I. TUJUAN
Arduino uno
diproteus
II. PENDAHULUAN
LCD adalah merupakan salah satu jenis display elektronik yang dibuat
menggunakan teknologi CMOS logic yang dapat bekerja dengan tidak
menghasilkan cahaya namun memantulkan cahaya yang ada di sekitarnya
terhadap front-lit atau mentransmisikan cahaya dari back-lit. Fungsi dari LCD
yaitu sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun
grafik. LCD memiliki beberapa ukuran sesuai dengan jumlah karakternya
berdasarkan baris dan kolom,pada kesempatan ini menggunakan lcd 2x16 yang
artinya display ini memiliki 16 kolom karakter sebanyak 2 baris jadi total karakter
yang bisa di tampilkan adalah 16x2 di mana dalam 1 baris maksimal karakter
yang dapat ditampilkan hanya 16 karakter saja.
LCD ( Liquid Crystal Display) merupakan salah satu jenis displayelektronik yang
dibuat dengan teknologi CMOS logic yang bekerja dengan tidakmenghasilkan
3
cahaya tetapi memantulkan cahaya yang ada di sekelilingnyaterhadap front-lit
atau mentransmisikan cahaya dari back-lit. (Liquid Cristal Display) berfungsi
sebagai penampil data baik dalambentuk karakter, huruf, angka ataupun grafik.
LCD adalah lapisan dari campuranorganik antara lapisan kaca bening dengan
elektroda transparan indium oksidadalam bentuk tampilan seven-segment dan
lapisan elektroda pada kaca belakang.Ketika elektroda diaktifkan dengan medan
listrik (tegangan), molekul organikyang panjang dan silindris menyesuaikan diri
dengan elektroda dari segmen.Lapisan sandwich memiliki polarizer cahaya
vertikal depan dan polarizer cahayahorisontal belakang yang diikuti dengan
lapisan reflektor. Cahaya yangdipantulkan tidak dapat melewati molekul-molekul
yang telah menyesuaikan diridan segmen yang diaktifkan terlihat menjadi gelap
dan membentuk karakter datayang ingin ditampilkan
Keterangan :
4
Low : mengirim instruksi
Disambungkan dengan LOW untuk pengiriman data ke layar
6. E (enable) : untuk mengontrol ke LCD ketika bernilai LOW, LCD tidak
dapat diakses
7. D0 – D7 = Data Bus 0 – 7
8. Backlight + : disambungkan ke VCC untuk menyalakan lampu latar
9. Backlight – : disambungkan ke GND untuk menyalakan lampu latar
5
Untuk melakukan pemrograman pada LCD dengan arduino, karena pada sketch
sudah ada librarynya.
LCD atau Liquid Crystal Display pada dasarnya terdiri dari dua bagian utama
yaitu bagian Backlight (Lampu Latar Belakang) dan bagian Liquid Crystal
(Kristal Cair). Seperti yang disebutkan sebelumnya, LCD tidak memancarkan
pencahayaan apapun, LCD hanya merefleksikan dan mentransmisikan cahaya
yang melewatinya. Oleh karena itu, LCD memerlukan Backlight atau Cahaya latar
belakang untuk sumber cahayanya. Cahaya Backlight tersebut pada umumnya
6
adalah berwarna putih. Sedangkan Kristal Cair (Liquid Crystal) sendiri adalah
cairan organik yang berada diantara dua lembar kaca yang memiliki permukaan
transparan yang konduktif.
Catatan :
LCD yang digunakan pada Kalkulator dan Jam Tangan digital pada umumnya
menggunakan Cermin untuk memantulkan cahaya alami agar dapat menghasilkan
digit yang terlihat di layar. Sedangkan LCD yang lebih modern dan berkekuatan
tinggi seperti TV, Laptop dan Ponsel Pintar menggunakan lampu Backlight
(Lampu Latar Belakang) untuk menerangi piksel kristal cair. Lampu Backlight
tersebut pada umumnya berbentuk persegi panjang atau strip lampu Flourescent
atau Light Emitting Diode (LED).
7
Gambar 2.3 Skematik LCD
8
power supply dimatikan. Yang dimaksud dengan pola di sini adalah bagaimana
bentuk karakter, contohnya ‘A’ dibentuk.
Contoh pada gambar di atas, terlihat bagaimana pola karakter ‘A’ atau kode biner
0100 0001b ditampilkan dalam layar LCD. Pola tersebut adalah tampilan pada
saat kode biner 0100 0001b atau 41h dituliskan ke dalam DDRAM dengan posisi
sesuai Address Counter DDRAM saat itu
9
Sekedar mengingatkan pelajaran fisika kita mengenai cahaya putih, cahaya putih
adalah cahaya terdiri dari ratusan cahaya warna yang berbeda. Ratusan warna
cahaya tersebut akan terlihat apabila cahaya putih mengalami refleksi atau
perubahan arah sinar. Artinya, jika beda sudut refleksi maka berbeda pula warna
cahaya yang dihasilkan.
Backlight LCD yang berwarna putih akan memberikan pencahayaan pada Kristal
Cair atau Liquid Crystal. Kristal cair tersebut akan menyaring backlight yang
diterimanya dan merefleksikannya sesuai dengan sudut yang diinginkan sehingga
menghasilkan warna yang dibutuhkan. Sudut Kristal Cair akan berubah apabila
diberikan tegangan dengan nilai tertentu. Karena dengan perubahan sudut dan
penyaringan cahaya backlight pada kristal cair tersebut, cahaya backlight yang
sebelumnya adalah berwarna putih dapat berubah menjadi berbagai warna.
Jika ingin menghasilkan warna putih, maka kristal cair akan dibuka selebar-
lebarnya sehingga cahaya backlight yang berwarna putih dapat ditampilkan
sepenuhnya. Sebaliknya, apabila ingin menampilkan warna hitam, maka kristal
cair harus ditutup serapat-rapatnya sehingga tidak adalah cahaya backlight yang
dapat menembus. Dan apabila menginginkan warna lainnya, maka diperlukan
pengaturan sudut refleksi kristal cair yang bersangkutan.
Pada aplikasi umumnya RW diberi logika rendah “0”. Bus data terdiri dari 4-bit
atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan
DB7. Sebagaimana terlihat pada table diskripsi, interface LCD merupakan sebuah
parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam
pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan
sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu. Jika mode
4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8-
bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap
nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa
mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD
10
program harus menset EN ke kondisi high “1” dan kemudian menset dua jalur
kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.
Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat
(tergantung pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur
RS berada dalam kondisi low “0”, data yang dikirimkan ke LCD dianggap sebagai
sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll).
Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII
yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A” pada layar
maka RS harus diset ke “1”. Jalur kontrol R/W harus berada dalam kondisi low
(0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada
dalam kondisi high “1”, maka program akan melakukan query (pembacaan) data
dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status
LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang
menggunakan LCD, R/W selalu diset ke “0”. Jalur data dapat terdiri 4 atau 8 jalur
(tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5,
DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2
mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan
mode operasi merupakan hal yang paling penting.
Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam
sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8
pin untuk data). Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin
untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data
atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di
set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis.
Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status
eksekusi dari instruksi terakhir yang dibaca.
11
daya, dengan fasilitas pin yang tersedia maka lcd 16 x 2 dapat digunakan secara
maksimal untuk menampilkan data yang dikeluarkan oleh mikrokontroler, secara
ringkas fungsi pin-pin pada LCD dituliskan pada Tabel 2.2.
Pin 1 dan 2
Merupakan sambungan catu daya, Vss dan Vdd. Pin Vdd dihubungkan dengan
tegangan positif catu daya, dan Vss pada 0V atau ground. Meskipun data
menentukan catu 5 Vdc (hanya pada beberapa mA), menyediakan 6V dan 4.5V
yang keduanya bekerja dengan baik, bahkan 3V cukup untuk beberapa modul.
Pin 3
Pin 3 merupakan pin kontrol Vee, yang digunakan untuk mengatur kontras
display. Idealnya pin ini dihubungkan dengan tegangan yang bisa dirubah untuk
memungkinkan pengaturan terhadap tingkatan kontras display sesuai dengan
kebutuhan, pin ini dapat dihubungkan dengan variable resistor sebagai pengatur
kontras.
12
Pin 4
Pin 4 merupakan Register Select (RS), masukan yang pertama dari tiga
command control input. Dengan membuat RS menjadi high, data karakter dapat
ditransfer dari dan menuju modulnya.
Pin 5
Read/Write (R/W), untuk memfungsikan sebagai perintah write maka R/W low
atau menulis karakter ke modul. R/W high untuk membaca data karakter atau
informasi status dari register-nya.
Pin 6
Enable (E), input ini digunakan untuk transfer aktual dari perintah-perintah
atau karakter antara modul dengan hubungan data. Ketika menulis ke display, data
ditransfer hanya pada perpindahan high atau low. Tetapi ketika membaca dari
display, data akan menjadi lebih cepat tersedia setelah perpindahan dari low ke
high dan tetap tersedia hingga sinyal low lagi.
Pin 7-14
Pin 7 sampai 14 adalah delapan jalur data/data bus (D0 sampai D7) dimana
data dapat ditransfer ke dan dari display.
Pin 16
13
III. ALAT DAN BAHAN
1. Percobaan 1
Menampilkan Kalimat pada LCD
2. Percobaan 2
Menyalakan LED menggunakan Push Button
14
3. Percobaan 3
Menampilkan Karakter
V. LANGKAH PERCOBAAN
1. Percobaan 1
1. Merangkai gambar di proteus seperti pada gambar 4.1
2. Membuat Program Arduinonya
void setup() {
// put your setup code here, to run once:
lcd.begin (16,2);
lcd.print ("POLITEKNIK");
lcd.setCursor (0,1);
lcd.print ("T.LISTRIK");
}
void loop() {
// put your main code here, to run repeatedly:
}
3. Mengcopy file .hex dari arduino dan memasukkannya pada
proteus
15
4. Hasil Simulasi\
2. Percobaan 2
1. Merangkai gambar di proteus seperti pada gambar 4.2
2. Membuat Program Arduinonya
pinMode (8,INPUT);
digitalWrite (8 , HIGH);
lcd.begin (16,2); }
if (tombol == LOW) {
digitalWrite(13,HIGH);
lcd.setCursor(0,0);
lcd.print("LED ON");
lcd.setCursor(0,1);
lcd.clear(); }
else {
lcd.setCursor(0,0);
lcd.clear();
lcd.setCursor(0,1);
16
4. Hasil Simulasi
3. Percobaan 3
1. Merangkai gambar di proteus seperti pada gambar 4.3
2. Membuat Program Arduinonya
17
A. Syntex Program
1. Percobaan 1
Memunculkan Tulisan pada LCD
18
Gambar 6.2 Coding Percobaan 2
3. Percobaan 3
Menampilkan Karakter
19
Gambar 6.3 Coding Percobaan 3
B. Simulasi Rangkaian
1. Percobaan 1
Memunculkan Tulisan dalam LCD
20
2. Percobaan 2
Menyalakan LED dengan Push Button pada LCD
1. Percobaan 1
21
Gambar 7.1 Rangkaian Percobaan 1
Pada percobaan kali ini menggunakan LCD maka menggunakan
settingan LiquidCrystal serta menggunakan LCD ukuran 16x2 jadi terdiri 32
karakter yang dapat dibuat pada LCD dimana :
LiquidCrystal : Untuk mengkonfigurasi dari pin LCD
D0 – d7 : Merupakan kaki-kaki data yang digunakan jika
mengirim instruksi ke RS untuk mengolah data
di dalam RS
R/W : Menuliskan karakter pada LCD maka dengan
mengaktifkan write jika ingin membaca maka
dengan mengaktifkan read dengan memberikan
logika 0 atau 1
Lcd.begin : Untuk menentukan dimensi dari LCD yang akan
digunakan
Pada percobaan praktek kita menggunakan pin 2-7 pada arduino lalu
dihubungkan dengan konektor CN3 dari pin 1 hingga 6 adapun langkah
yang akan dilakukan adalah membuat rangkaian simulasi di Proteus dengan
1 lampu LED dan sebuah modul board Arduino Uno. Setelah membuat
rangkaian simulasinya, selanjutnya membuat program sketch di IDE
22
Arduino Uno. Dalam hal ini struktur program sketch minimal terdiri dari 2
fungsi yaitu setup dan loop. Setup berfungsi untuk mendeskripsikan variable
yang digunakan sedangkan loop berfungsi untuk menjalankan perintah terus
menerus. Cara penulisan sketch pada fungsi setup() yaitu dengan
menuliskan void setup() yang diikuti tanda “ { ” sebagai pembuka statement
dan tanda “ } ” sebagai penutup statement. Adapun statement yang
digunakan pada fungsi setup yaitu lcd.begin(16,2) yang artinya
mendeskripsikan atau mengenalkan kepada program bahwa kolom yang
digunakan adalah kolom 1 sampai 16 sebagai output, dan basris yang
digunakan adalah baris 1 sampai 2 (keluaran) dengan diakhiri tanda “ ; ”
sebagai tanda berakhirnya instruksi. Setelah itu dilanjutkan pada penulisan
fungsi kedua yaitu fungsi loop. Cara penulisannya sama dengan penulisan
sketch pada fungsi setup. Adapun statement yang digunakan pada fungsi
setup yaitu : lcd.setCursor(0,0) yang artinya penulisan text dimulai pada
kolom 1 dan baris 1 dan jika menapilkan teks menggunakan
lcd.print("POLITEKNIK"); yang artinya text yang ditampilkan adalah
tulisan POLITEKNIK.
Masing masing statement tersebut diakhiri tanda “ ; ” sebagai tanda
berakhirnya instruksi. Setelah selesai membuat program sketch nya maka
selanjutnya mengcompile intruksi tersebut sampai muncul keterangan
“Done Compiling” yang menandakan proses compilingnya telah berhasil.
Selanjutnya memasukkan program sketch ke proteus untuk mensimulasikan
rangkaian. Apabila simulasinya sudah sesuai dengan yang diinginkan
barulah program sketch yang sudah dibuat tadi diupload ke dalam board
modul Arduino Uno. Sedangkan jika ingin mensimulasikannnya dalam
proteus maka klik verify dan mengcopy .hex ke lalu mempastenya ke dalam
proteus.
Pada percobaan ini praktikan mencetak kalimat POLITEKNIK pada
baris pertama dan T.LISTRIK pada baris kedua. Untuk mencetak kalimat
pada LCD screen cukup dengan menggunakan syntax lcd.print kemudian
menuliskan kalimat yang diinginkan. Pada syntax lcd.setCursor untuk
23
menentukan dimana nantinya tulisan akan tercetak. Kita akan mencetak
nama di tengah baris pertama berarti kita ketik pada syntax lcd.setCusor
(4,0) yang dimana 4 ini maksudnya kita mencetak tulisan mulai dari kolom
5 karena lcd menghitung dari angka 0 maka kita set cursor pada kolom di
angka 4. Untuk baris kita set 0 karena kita akan cetak nama di baris pertama.
Untuk mencetak kalimat pada baris kedua caranya sama hanya kita
mengatur pada syntax setcursor saja.
2. Percobaan 2
24
Pada percobaan ini menggunakan pin 13 sebagai output yang terhubung
dengan CN 6 (LED) sedangakan pin 8 sebagai input yang terhubung dengan
CN10 sebagai switch (push button) pada percobaan ini menggunakan perintah
tambahan byte untuk membuat variable tombol agar dapat terbaca maka
menggunakan jenis data byte serta menggunakan perintah jika push button
ditekan maka LED dalam kondisi menyala dan menampilkan tulisan LED ON
sedangkan jika push button tidak ditekan maka kondisi LED OFF dan
menampilkan tulisan pada LCD LED OFF. Pada percobaan ini menggunakan
pula fungsi if else. Fungsi if digunakan karena percobaan ini mempunyai
input berupa Pushh button dan outputnya terdiri dari LED dan LCD.
C. Percobaan 3
0b00000,
0b01010,
0b00000,
0b00000,
25
0b00000,
0b10001,
0b01110,
0b00000 };
Dan setiap slot akan terdiri dari 5 kolom dan 8 baris kotak.. Setelah selesai
membuat program sketch nya maka selanjutnya mengompile intruksi tersebut
sampai muncul keterangan “Done Compiling” yang menandakan proses
compiling nya telah berhasil. Selanjutnya memasukkan program sketch ke
proteus untuk mensimulasikan rangkaian. Apabila simulasinya sudah sesuai
dengan yang diinginkan barulah program sketch yang sudah dibuat tadi
diupload ke dalam board modul Arduino Uno.
Lcd.creatChar : Untuk mencetak karakter yang sudah didefinisikan
pada variable love dan smile serta karakter yang
dibuat dimulai dari 0-7
Lcd.write : Untuk menuliskan karakter ke LCD dan
mengembalikan jumlah bytes yang tertulis
Pada percobaan ini kita menggunakan perintah lcd.creatChar dan
lcd.write Untuk membuat sebuah karakter, terlebih dahulu dibuat variabel
penyimpanan dengan jenis data byte. Kemudian isi dari variabel tersebut dibuat
seperti bentuk simbol yang diinginkan, dengan angka biner 1 untuk
membentuk karakter yang diinginkan.
VIII. KESIMPULAN
Setup berfungsi untuk mendeskripsikan variable yang digunakan
sedangkan loop berfungsi untuk menjalankan perintah terus menerus. Cara
penulisan sketch pada fungsi setup() yaitu dengan menuliskan void setup()
26
yang diikuti tanda “ { ” sebagai pembuka statement dan tanda “ } ” sebagai
penutup statement.
LCD merupakan salah satu piranti elektronika yang berfungsi untuk
menampilkan display berupa karakter, text atau angka sesuai dengan yang
diprogram.
LCD memiliki beberapa pin yang memiliki fungsi yang berbeda beda
dalam konfigurasinya.
LCD memiliki 3 memori utama, yaitu CGROM (Character Generator
Read Only Memory), CGRAM (Character Generator Random Access
Memory), dan DDRAM (Display Data Random Access Memory).
DAFTAR PUSTAKA
27
Yuliana, Esti. 2011. Pengertian LCD. (online) dalam
http://teknikinformatikaesti.blogspot.com, diakses tanggal 18 November
2019.
LAMPIRAN
28
29