LCD
19.49
Menampilkan Karakter pada LCD dengam Menggunakan Keypad
A. Menampilkan Karakter Pada LCD
Prosedur Percobaan:
1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti rangkaian dibawah
3. Buatlah listing program yang telah ada pada modul
4. periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10.Jelaskan prinsip kerja + program dan hubungan keduanya kepada asisten
11.Demokan ke pembimbing praktikum
12.Matikan supply
1. Hardware [kembali]
2. Rangkaian Simulasi [kembali]
Rangkaian ini terdiri dari Arduino, 1 buah Switch, keypad dan LCD. Switch terhubung ke pin digital arduino (53), KEYPAD terhubung ke pin digtal
(14,15,16,17,18,19,20) dan LCD ke pin digital arduino RS=12, E=11, D4-D7
(4-7). Untuk memulai program silahkan masukkan program arduino, tekan
play pada pojok kiri bawah, dan tunggu sejenak. setelah aktif tekan
tombol reset sebelum eksekusi program. Prinsipnya apabila switch svdt 0
pada pin digital 53 arduino bernilai HIGH maka keypad akan aktif dan
apabila tombol 1 ditekan maka LCD akan mencetak serta menampilkan
tulisan "PRAKTIKUM"
3. Flowchart [kembali]
4. Listing Program [kembali]
#include <Keypad.h> //Mengaktifkan library keypad
#include <LiquidCrystal.h> //Mengaktifkan library LCD
int switchh = 53; //Deklarasi switch pada pin 53
const int PIN_RS = 12;
const int PIN_E = 11;
const int PIN_DB4 = 7;
const int PIN_DB5 = 6; //Pendeklarasian pin untuk LCD
const int PIN_DB6 = 5;
const int PIN_DB7 = 4;
LiquidCrystal lcd(PIN_RS,PIN_E, PIN_DB4,
PIN_DB5, PIN_DB6, PIN_DB7); //Mengaktifkan pin Lcd
const byte BARIS = 4; // 4 Baris //Pendeklarasian baris keypad
const byte KOLOM = 3; // 3 Kolom //Pendeklarasian kolom keypad
// Menyatakan tombol-tombol keypad
char tombol[BARIS][KOLOM] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'}, //Menyatakan baris dan kolom keypad dalam bentuk array
{'#','0','*'}
};
//Menyambungkan baris keypad ke pin arduino
byte bariskeypad[BARIS] = { 14, 15, 16, 17 };
//Menyambungkan kolom keypad ke pin arduino
byte kolomkeypad[KOLOM] = { 18, 19, 20 };
//Aktifkan keypad
Keypad kpd = Keypad( makeKeymap(tombol),
bariskeypad, kolomkeypad,BARIS, KOLOM );
void setup() //Fungsi utama keypad
{
lcd.begin(16, 2); //Memulai LCD tipe 16 x 2
pinMode (switchh, INPUT); //Deklarasi switch sebagai Input
Serial.begin (9600); //Komunikasi serial arduino ke komputer
}
void loop() //Fungsi perulangan pada arduino
{
if (digitalRead(switchh)==1) //Fungsi if saat switch bernilai High
{
char tombol = kpd.getKey(); //Deklarasi tombol sebagai pemanggilan fungsi keypad
if(tombol) // Mengecek apabila kondisi benar
{
switch (tombol) //Jika switch itu tombol
{ //Pembuka program
case '1': //Jika tombol keypad 1 ditekan
while (1){ //Pengulangan untuk tombol 1
lcd.clear(); //Membersihkan layar pada Lcd
lcd.setCursor(4,0); //Memposisikan tulisan di baris ke 0 dan kolom ke 4
lcd.print("PRAKTIKUM"); //Mencetak tulisan di Praktikum pada LCd
lcd.setCursor (0,1); //Memposisikan tulisan di baris ke 1 dan kolom ke 0
lcd.print("Mikrokontroller dan Mikroprosesor"); //Mencetak tulisan Mikrokontroler dan Mikroprosesor pada LCD
for(int i=0;i<=16;i++){ //Fungsi for untuk LCD
lcd.scrollDisplayLeft (); //LCD geser kiri
delay (50); // Waktu tunda 50 milisekon
}
}
break; //Fungsi selesai untuk kondisi case '1'
case '2': //Jika tombol 2 keypad ditekan
while (2){ // Pengulangan untuk tombol 2
lcd.clear(); //Membersihkan LCD
lcd.setCursor(0,1); //Memposisikan tulisan di baris ke 1 dan kolom ke 0
lcd.print("Laboratorium Elektronika Digital"); //Menampilkan tulisan pada LCD
for(int i=0;i<17;i--){ //Fungsi for untuk LCD
lcd.scrollDisplayLeft (); //LCD geser ke kiri
delay (50); //Waktu tunda 50 milisekon
}}
break; //Fungsi selesai untuk kondisi case '2'
case '3': //Jika tombol 3 keypad ditekan
lcd.clear(); //Membersihkan LCD
lcd.setCursor(0,1); //Memposisikan tulisan di baris ke 1 dan kolom ke 0
lcd.print("Selamat Praktikum");//Menampilkan akrakter pada LCD
break; //Fungsi selesai untuk kondisi case '3'
default: //Jika gagal masuk ke fungsi Serial.printIn(tombol)
Serial.println(tombol);
}
}
}
else //Fungsi saat if tidak terpenuhi
{
lcd.clear(); //Membersihkan tulisan pada LCD
delay(100); //Fungsi delay untuk 100 milisekon
}
}