• Tidak ada hasil yang ditemukan

Memori LCD

Dalam dokumen Buku Petunjuk Praktikum Mikrokontroler (Halaman 37-46)

1. DDRAM ( Display Data RAM )

Memori DDRAM digunakan untuk menyimpan karakter yang akan ditampilkan. Semua teks yang kita tuliskan ke modul LCD adalah disimpan didalam memory ini, dan modul LCD secara berturutan membaca memory ini untuk menampilkan teks ke modul LCD itu sendiri.

38 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

Pada peta memori tersebut, daerah yang berwarna kuning ( 00 s/d 0F dan 40 s/d 4F ) adalah display yang tampak. Sebagaimanan yang anda lihat, jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Demikianlah karakter pertama di sudut kiri atas adalah menempati alamat 00h. Posisi karakter berikutnya adalah alamat 01h dan seterusnya. Akan tetapi, karakter pertama dari baris 2 sebagaimana yang ditunjukkan pada peta memori adalah pada alamat 40h. Dimikianlah kita perlu untuk mengirim sebuah perintah ke LCD untuk mangatur letak posisi kursor pada baris dan kolom tertentu.

Instruksi Set Posisi Kursor adalah 80h. Untuk ini kita perlu menambahkan alamat lokasi dimana kita berharap untuk menempatkan kursor.Sebagai contoh, kita ingin menampilkan kata ”World” pada baris ke dua pada posisi kolom ke sepuluh. Sesuai peta memori, posisi karakter pada kolom 11 dari baris ke dua, mempunyai alamat 4Ah, sehingga sebelum kita tulis kata ”World” pada LCD, kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h+4Ah =0Cah. Sehingga dengan mengirim perintah Cah ke LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11 dari DDRAM.

CGROM ( Character Generator ROM )

Sebuah peta karakter yang dapat ditampilkan, sesuai dengan lokasi dari masing-masing karakter.

39 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

40 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

Percobaan 7.

Hubungkan Pin LCD dengan pin Mikrokontroler seperti ditunjukkan pada gambar dibawah ini.

Gambar 5.2. Hubungan Pin LCD dan pin Mikrokontroler Arduino

Ketik Program dibawah ini dan lihat hasilnya pada LCD 2X16

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins LiquidCrystal lcd(8,9,4,5,6,7); void setup() { lcd.begin(16,2); lcd.setCursor(0,0); lcd.print("Hello World!"); lcd.setCursor(0,1); lcd.print("FasilkomNarotama"); } void loop() { }

Menampilkan angka dalam kisaran 0-9 dari samping yang berlawanan (di baris kiri atas). Selanjutnya, menampilkan nomor yang sama di baris bawah, tapi mulai dari kanan.

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins LiquidCrystal lcd(8,9,4,5,6,7);

void setup() {

// set up the LCD's number of columns and rows: lcd.begin(16,2);

}

void loop() {

41 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

lcd.setCursor(0, 0); // print from 0 to 9:

for (int thisChar = 0; thisChar < 10; thisChar++) { lcd.print(thisChar);

delay(500); }

// set the cursor to (16,1): lcd.setCursor(16,1);

// set the display to automatically scroll: lcd.autoscroll();

// print from 0 to 9:

for (int thisChar = 0; thisChar < 10; thisChar++) { lcd.print(thisChar);

delay(500); }

// turn off automatic scrolling lcd.noAutoscroll();

// clear screen for the next loop: lcd.clear();

}

Ketik program dibawah ini untuk menampilkan “I ♥ Fasilkom”

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins LiquidCrystal lcd(8,9,4,5,6,7);

// make some custom characters: byte heart[8] = { 0b00000, 0b01010, 0b11111, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000 }; byte smiley[8] = { 0b00000, 0b00000, 0b01010, 0b00000, 0b00000, 0b10001, 0b01110, 0b00000 };

42 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

byte frownie[8] = { 0b00000, 0b00000, 0b01010, 0b00000, 0b00000, 0b00000, 0b01110, 0b10001 }; byte armsDown[8] = { 0b00100, 0b01010, 0b00100, 0b00100, 0b01110, 0b10101, 0b00100, 0b01010 }; byte armsUp[8] = { 0b00100, 0b01010, 0b00100, 0b10101, 0b01110, 0b00100, 0b00100, 0b01010 }; void setup() {

// create a new character lcd.createChar(1, heart); // create a new character lcd.createChar(2, smiley); // create a new character lcd.createChar(3, frownie); // create a new character lcd.createChar(4, armsDown); // create a new character lcd.createChar(5, armsUp);

// set up the lcd's number of columns and rows: lcd.begin(16, 2);

// Print a message to the lcd. lcd.print("I ");

43 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

lcd.print(" Fasilkom "); lcd.write(2); } void loop() { lcd.setCursor(4, 1);

lcd.write(4); // draw the little man, arms down: lcd.setCursor(4, 1);

delay(400); // wait 400ms

lcd.write(5); // draw the little man, arms up: delay(400); // wait 400ms

}

Contoh sederhana untuk menampilkan symbol “hati”

#include <LiquidCrystal.h> LiquidCrystal lcd(8,9,4,5,6,7); byte heart[8] = { 0b00000, 0b01010, 0b11111, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000 }; void setup() { lcd.createChar(1, heart); lcd.write(1); }

Teks muncul, program akan menunggu setengah detik, dan teks menghilang. Setelah itu, loop seluruh program.

44 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

#include <LiquidCrystal.h> LiquidCrystal lcd(8,9,4,5,6,7);

void setup() {

lcd.begin(16, 2); // set up the LCD's number of columns and rows

lcd.setCursor(0,0); // First line lcd.print("Blinking");

lcd.setCursor(0,1); // Second line lcd.print(" sentence :)");

}

void loop() {

lcd.noDisplay(); // Turn OFF the display delay(500); // Wait 500 ms

lcd.display(); // Turn ON the display delay(500); // Wait 500 ms

}

Teks "Hello world!" Ditampilkan, yang dipindahkan antara tepi layar, dari kanan ke kiri.

#include <LiquidCrystal.h> LiquidCrystal lcd(8,9,4,5,6,7); void setup() { lcd.begin(16, 2); lcd.print("Hello, world!"); delay(1000); } void loop() {

// scroll 13 positions (string length) to the left // to move it offscreen left:

for (int positionCounter = 0; positionCounter < 13; positionCounter++) {

// scroll one position left: lcd.scrollDisplayLeft(); // wait a bit:

delay(150); }

// scroll 29 positions (string length + display length) to the right

// to move it offscreen right:

for (int positionCounter = 0; positionCounter < 29; positionCounter++) {

// scroll one position right: lcd.scrollDisplayRight();

45 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

// wait a bit: delay(150); }

// scroll 16 positions (display length + string length) to the left

// to move it back to center:

for (int positionCounter = 0; positionCounter < 16; positionCounter++) {

// scroll one position left: lcd.scrollDisplayLeft(); // wait a bit:

delay(150); }

// delay at the end of the full loop: delay(1000);

}

LANGKAH-LANGKAH PERCOBAAN

1. Nyalakan computer dengan program Arduino !

2. Sambungkan Trainer mikrokontroler dengan computer menggunakan kabel USB ! 3. Sambungkan kabel-kabel jumper sesuai dengan praktikum yang dilaksanakan ! 4. Ketiklah program yang diatas pada software Arduino !

5. Lakukan verifikasi terhadap program, apakah terjadi error atau tidak !

6. Jika tidak terjadi error lanjutkan dengan mengupload program ke dalam mikrokontroler ! 7. Amati hasilnya apakah sudah sesuai dengan perintah instruktur atau belum, kalau belum

46 LABORATORIUM MIKROKONTROLER UNIVERSITAS NAROTAMA SURABAYA

Dalam dokumen Buku Petunjuk Praktikum Mikrokontroler (Halaman 37-46)

Dokumen terkait