Anda di halaman 1dari 9

1 Tujuan Praktik :

a. Mempraktikkan cara meng-antarmuka modul LCD karakter ke board mikrokontroler.


b. Membuat aplikasi pengendalian yang menggunakan modul LCD karakter.

2 Komponen yang Digunakan :

No. Komponen Jumlah No. Komponen Jumlah


1. Board Arduino Uno 1 5. Potensiometer 10k 1
2. Kabel USB A-B 1 6. Resistor 220 5

3. Protoboard 1 7. Kabel jumper Secukupnya

4. Modul LCD HD44780 1

Job Sheet MCS P6 : Aplikasi LCD Karakter 6.1


3 Kegiatan Praktik :

a. On line pre-test MCS P6 aplikasi LCD karakter.


b. Uji cobalah (rangkai - upload - amati - analisis) aplikasi LCD karakter P6.1 : Hello
World di bawah ini.
c. Dengan cara yang sama, uji cobalah aplikasi P6.2 sampai dengan P6.4.
d. Rancang dan uji cobalah sendiri satu aplikasi LCD karakter (DIY P6). Pembuatan
DIY ini dibuat per kelompok dan dipertanggungjawabkan oleh seorang PIC (Person
In Charge). Tentukan judul, cara kerja, gambar skematik, flow chart, dan sketch-
nya.
e. Presentasikan hasil DIY P6 dan buatlah rekaman videonya.
f. Buatlah laporan online untuk praktik P6 serta upload videonya.

4 Aplikasi LCD Karakter :

1. P6.1 : Hello World 3. P6.3 : Blinking text 5. DIY P6 : ....


2. P6.2 : Text format 4. P6.4 : Scrolling text

Job Sheet MCS P6 : Aplikasi LCD Karakter 6.2


P6.1 : Hello World

Schematic Sketch

// Program untuk menampilkan string Hello World pada


// modul LCD 16x2 karakter HD44780

#include <LiquidCrystal.h>

const int numRows = 2; // jumlah baris


const int numCols = 16; // jumlah kolom

// inisialisasi library dengan pin-pin antarmuka


// rs, E, d4,d5,d6,d7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
lcd.begin(numCols, numRows);
lcd.print("Hello, World!"); // Tampilkan string
}

void loop()
{
lcd.setCursor(0, 1); // set kursor LCD ke kolom 0 baris 1

Job Sheet MCS P6 : Aplikasi LCD Karakter 6.3


lcd.print(millis()/1000); // tampilkan detik sejak reset
}

P6.2 : Text Format

Schematic Sketch

// Program untuk menampilkan teks tertentu


Sama seperti P6.1

#include <LiquidCrystal.h>

const int numRows = 2;


const int numCols = 16;
int count;

// rs, E,d4,d5,d6,d7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
lcd.begin(numCols, numRows);
lcd.print("Starting in "); // panjang string 12 karakter
for(int i=9; i > 0; i--) // count down dari 9

Job Sheet MCS P6 : Aplikasi LCD Karakter 6.4


{
//baris paling atas (baris 0)
lcd.setCursor(12,0); // pindahkan kursor ke akhir str.
lcd.print(i);
delay(1000);
}
}

void loop()
{
int columnWidth = 4; //jarak kolom
int displayColumns = 3; //berapa banyak kolom angka
lcd.clear();
for( int col=0; col < displayColumns; col++)
{
lcd.setCursor(col * columnWidth, 0);
count = count+ 1;
lcd.print(count);
}
delay(1000);
}

Job Sheet MCS P6 : Aplikasi LCD Karakter 6.5


P6.3 : Blinking Text

Schematic Sketch

// Program untuk mengedipkan teks


Sama seperti P6.1

#include <LiquidCrystal.h>

// rs, E,d4,d5,d6,d7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
lcd.begin(16, 2);
lcd.print("Blinking Text");
}

void loop()
{
lcd.setCursor(0, 1);
lcd.print("cursor blink");
lcd.blink();
delay(2000);
lcd.noBlink();
lcd.print(" noBlink");
delay(2000);

Job Sheet MCS P6 : Aplikasi LCD Karakter 6.6


lcd.clear();
lcd.print("Display off ...");
delay(1000);
lcd.noDisplay();
delay(2000);
lcd.display(); // display dihidupkan lagi
lcd.setCursor(0, 0);
lcd.print(" display flash !");
displayBlink(2, 250); // blink 2 x
displayBlink(2, 500); // blink 2 x waktu lebih lama
lcd.clear();
}

void displayBlink(int blinks, int duration)


{
while(blinks--)
{
lcd.noDisplay();
delay(duration);
lcd.display();
delay(duration);
}
}

Job Sheet MCS P6 : Aplikasi LCD Karakter 6.7


P6.4 : Scrolling Text

Schematic Sketch

// Program untuk menggulung teks dengan menggunakan


Sama seperti P6.1
// fungsi scrollDisplayLeft() dan scrollDisplayRight()

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
lcd.begin(16, 2);
lcd.print("Scrolling Text");
delay(1000);
}

void loop()
{
// scroll panjang string 13 posisi ke kiri
for (int positionCounter = 0; positionCounter < 13;
positionCounter++)
{

Job Sheet MCS P6 : Aplikasi LCD Karakter 6.8


lcd.scrollDisplayLeft(); // scroll ke kiri 1 posisi
delay(150);
}

// scroll string + panjang display 29 posisi ke kanan


for (int positionCounter = 0; positionCounter < 29;
positionCounter++)
{
lcd.scrollDisplayRight(); // scroll ke kanan 1 posisi
delay(150);
}

// scroll (pj. display + pj. string) 16 posisi ke kiri


// agar kembali ke tengah
for (int positionCounter = 0; positionCounter < 16;
positionCounter++)
{
lcd.scrollDisplayLeft(); // scroll 1 posisi ke kiri
delay(150);
}
delay(1000);
}

Job Sheet MCS P6 : Aplikasi LCD Karakter 6.9

Anda mungkin juga menyukai