Вы находитесь на странице: 1из 8

BAB 2.

LCD
2.1 Tujuan
1. Mahasiswa dapat memahami cara kerja LCD.
2. Mahasiswa dapat membuat rangkaian LCD dan memprogramnya.
2.2 Landasan Teori
1. Inisialisasi LCD
Merupakan inisialisasi LCD
2. LiquidCrystal lcd()
Menciptakan variabel jenis LiquidCrystal. Layar dapat dikontrol dengan
menggunakan 4 atau 8 jalur data.
Sintaksis
LiquidCrystal (rs, mengaktifkan, d4, d5, d6, d7)
LiquidCrystal (rs, rw, mengaktifkan, d4, d5, d6, d7)
LiquidCrystal (rs, mengaktifkan, d0, d1, d2, d3, d4, d5, d6, d7)
LiquidCrystal (rs, rw, mengaktifkan, d0, d1, d2, d3, d4, d5, d6, d7)
3. lcd.begin()
Berfungsi menginisialisasi antarmuka ke layar LCD, dan menentukan
dimensi (lebar dan tinggi) dari layar. begin() bisa disebut awal perintah
yang diberikan pada LCD.
sintaksis
lcd.begin (cols, baris)
parameter
LCD: variabel jenis LiquidCrystal
cols: menunjukkan jumlah kolom layar LCD
baris: jumlah baris pada LCD

4. lcd.setCursor()
Artinya, lokasi di mana ditulis dengan teks LCD akan ditampilkan.
Sintaksis:
lcd.setCursor (col, row)
Parameter
LCD: variabel jenis LiquidCrystal
col: kolom di mana posisi kursor (dengan 0 Menjadi kolom pertama)
baris: baris di mana posisi kursor (dengan 0 Menjadi baris pertama)
5. lcd.print()
berfungsi mencetak teks ke LCD.
Sintaksis
lcd.print (data)
lcd.print (data, BASE)
parameter
LCD: variabel jenis LiquidCrystal
Data: data untuk mencetak (char, byte, int, panjang, atau string)
BASIS (opsional): dasar di mana untuk mencetak nomor: BIN untuk
biner (basis 2), Desember untuk desimal (basis 10), Oktober untuk oktal
(basis 8), HEX untuk heksadesimal (basis 16).
2.3 Daftar Alat dan Bahan
1. PC
2. Proteus
3. Software Arduino

2.4 Prosedur Praktikum


1. Buatlah rangkaian sesuai dengan gambar rangkaian berikut.
POT

RS
RW
E

D0
D1
D2
D3
D4
D5
D6
D7
7
8
9
10
11
12
13
14

1
2
3

ARDUINO

4
5
6

VSS
VDD
VEE

LM016L

AREF

PC0/ADC0
PC1/ADC1
PC2/ADC2
PC3/ADC3
PC4/ADC4/SDA
PC5/ADC5/SCL

DIGITAL (~PWM)

ANALOG IN

A0
A1
A2
A3
A4
A5

1121
ATMEGA328P-PU

RESET

PB5/SCK
PB4/MISO
~PB3/MOSI/OC2A
~ PB2/SS/OC1B
~ PB1/OC1A
PB0/ICP1/CLKO
PD7/AIN1

~ PD6/AIN0
PD5/T1
~
PD4/T0/XCK
~ PD3/INT1
PD2/INT0
TX PD1/TXD
RX PD0/RXD

13
12
11
10
9
8
7
6
5
4
3
2
1
0

ARDUINO UNO R3

2. Ketiklah program sesuai dengan program berikut.


#include <LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,10,9,8);
void setup() {
lcd.begin(16, 2);
lcd.print("hello, world!");
delay(1000);
}
void loop() {
lcd.setCursor(0, 0);
lcd.print("Elektro UNEJ");
lcd.setCursor(0, 1);
lcd.print(millis()/1000);
}
3. Simulasikan dan berilah analisisnya.

2.5 Pembahasan
Liquid Crystal Display (LCD) adalah sebuah perangkat output sebuah
sistem dengan cara membentuk suatu citra atau gambaran pada sebuah layar.
Secara garis besar komponen penyusun LCD terdiri dari kristal cair (liquid
crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah filter
polarisasi (polarizing filter). Sebuah citra dibentuk dengan mengombinasikan
kondisi nyala dan mati dari pixel-pixel yang menyusun layar sebuah LCD.
Pada umumnya LCD yang dijual di pasaran sudah memiliki integrated
circuit (IC) tersendiri sehingga para pemakai dapat mengontrol tampilan
LCD

dengan

mudah

dengan

menggunakan

mikrokontroler

untuk

mengirimkan data melalui pin-pin input yang sudah tersedia.


Pada praktikum ini, percobaan dilakukan untuk menampilkan
beberapa karakter dengan LCD. Adapun langkah kerja dilakukan adalah yang
petama membuat rangkaian seperti gambar rangkaian. Sistem Arduino
dengan output LCD diberi program agar dapat menampilkan output sesuai
yang diprogramkan.
Pada
menyatakan

listing

program,

inisialisasi

#include
LCD.

<LiquidCrystal.h>

LiquidCrystal

lcd

(13,12,11,10,9,8); berfungsi mendeklarasikan pin pada Arduino


yang terhubung pada LCD,yakni pin 8, 9, 10, 11, 12, 13. void
setup()untuk inisialisasi yang hanya dijalankan sekali saat program direset. lcd.begin(16, 2); adalah untuk menginisialisasi antarmuka ke
layar LCD, dan menentukan dimensi (lebar dan tinggi) dari layar. begin() bisa
disebut awal perintah yang diberikan pada LCD. 16 adalah untuk jumlah
kolom dan 2 adalah untuk jumlah baris. lcd.print("hello,
world!"); adalah untuk menampilkan teks berupa hello, world! pada
layar LCD. delay(1000); adalah untuk memberi jeda setelah teks hello,
wold! dalam jangka waktu yang ditentukan yaitu 1000 ms atau 1 detik.
void loop() adalah untuk mengeksekusi bagian program yang akan
dijalankan berulang-ulang. lcd.setCursor(0,

0);

adalah untuk

penentuan lokasi pertama teks hello, world! yaitu pada kolom 0 dan baris

0. lcd.print("Elektro UNEJ"); berfungsi untuk menampilkan teks


berupa Elektro UNEJ pada layar LCD. lcd.setCursor(0, 1);
adalah untuk penentuan lokasi teks Elektro UNEJ yaitu pada kolom 0 dan
baris 1. lcd.print(millis()/1000); adalah untuk menampilkan
pada layar LCD sejak mengalami reset selama 1000 milidetik, jadi
penghitungan mundurnya ditampilkan di LCD.
Berdasarkan percobaan diatas, hasil simulasi menunjukkan bahwa
tulisan Elektro UNEJ menjadi pengganti tulisan hello, world!. Dari hasil
percobaan didapat dalam jangka waktu 1 detik setelah tulisan hello world!
ditampilkan, yang muncul pada LCD adalah Elektro UNEJ! dan tulisan itu
bertahan. Hal ini dikarenakan tulisan hello, world! dituliskan pada bagian
fungsi setup(). Pada bagian ini sebuah kode program hanya akan
dieksekusi satu kali setiap program dijalankan. Tulisan Elektro UNEJ
bertahan karena sebenarnya tulisan it uterus diulang sehingga selalu tampil.
Tulisan Elektro UNEJ berada di blok fungsi loop() sehingga kode
program yang ada di blok tersebut akan terus berulang.
Tanda seru (!) yang ditampilan pada tulisan Elektro UNEJ! adalah
sisa dari tulisan sebelumnya yaitu hello, world!. Hal ini terjadi karena
tulisan hello, world! berjumlah 13 karakter sedangkan tulisan Elektro
UNEJ hanya berjumlah 12 karakter. Jumlah karakter tersebut menyebabkan
karakter ! tidak tergantikan dan tetap tampil. Solusi dari masalah ini adalah
dengan menambahkan spasi. Spasi akan menggantikan sebuah karakter
dengan karakter spasi (tidak terlihat) sehingga LCD tampak terhapus, padahal
sebenarnya hanya digantikan oleh karakter spasi.
Dari percobaan ini dapat disimpulkan bahwa kode program yang ada
pada blok fungsi setup() hanya dieksekusi satu kali. Untuk membuat suatu
kode program yang dieksekusi terus menerus maka harus diletakan di blok
fungsi loop(). Dari percobaan ini pula dapat disimpulkan bahwa untuk
menghapus suatu karakter pada LCD bisa dilakukan dengan menggantinya
dengan karakter spasi.

2.6 Kesimpulan
Berdasarkan percobaan yang telah dilakukan, dapat diambil
kesimpulan sebagai berikut:
1. Untuk menghapus sebuah karakter pada LCD bisa dilakukan dengan
menggantinya dengan karakter spasi.
2. Kode program yang ada pada blok fungsi setup() hanya dijalankan
satu kali saat program pertama kali dijalankan.
3. Tulisan Elektro UNEJ hanya bersifat menggantikan tulisan hello,
world!.
4. Output Elektro UNEJ! terdapat karakter ! karena jumlah karakter
pada tulisan Elektro UNEJ kurang dari jumlah karakter pada tulisan
hello word!.
5. Untuk menentukan awal penampilan sebuah karakter dapat dilakukan
dengan fungsi lcd.setCursor(x,y);dimana x adalah baris dan y
adalah kolom pada LCD.
6. Fungsi delay() berfungsi untuk menunda dari suatu baris program
sebelum ke baris program selanjutnya.

Lampiran

Gambar 1. Program Simulasi

Gambar 2. Hasil Simulasi

Gambar 3. Hasil Simulasi Awal

Gambar 4. Hasil Simulasi Akhir

Вам также может понравиться