Anda di halaman 1dari 17

UNIT 4

INPUT OUTPUT KEYPAD 4X4

4.1 Tujuan Praktikum


1. Mahasiswa mampu memahami Mikroprosesor, Mikrokontroler, dan
Keypad 4x4.
2. Mahasiswa mampu mengetahui cara kerja dari Mikroprosesor,
Mikrokontroler, dan Keypad 4x4.
3. Mahasiswa mampu mengoperasikan trainer mikrokontroler dengan poin
Keypad 4x4 dan LCD.

4.2 Alat dan Bahan


1. Laptop yang sudah terinstall CVAVR, dan Khazama AVR Program
2. Trainer Mikrokontroler
3. Kabel Jumper Female to Female Secukupnya

4.3 Teori Dasar


LCD (Liquid Cristal Display)
Display elektronik adalah salah satu komponen elektronika yang berfungsi
sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. LCD (Liquid
Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan
teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi
memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau
mentransmisikan cahaya dari back-lit.
LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam
bentuk karakter, huruf, angka ataupun grafik.
Material LCD (Liquid Cristal Display)
LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan
elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan
lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan
listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri
dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya
vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan
reflektor.
Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah
menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan
membentuk karakter data yang ingin ditampilkan.
Contoh Bentuk LCD (Liquid Cristal Display)

Gambar 4.1 LCD

Dalam modul LCD (Liquid Cristal Display) terdapat microcontroller yang


berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display).
Microntroller pada suatu LCD (Liquid Cristal Display) dilengkapi dengan memori
dan register. Memori yang digunakan microcontroler internal LCD adalah :
DDRAM (Display Data Random Access Memory) merupakan memori
tempat karakter yang akan ditampilkan berada.
CGRAM (Character Generator Random Access Memory) merupakan
memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter
dapat diubah-ubah sesuai dengan keinginan.
CGROM (Character Generator Read Only Memory) merupakan memori
untuk menggambarkan pola sebuah karakter dimana pola tersebut merupakan
karakter dasar yang sudah ditentukan secara permanen oleh pabrikan pembuat LCD
(Liquid Cristal Display) tersebut sehingga pengguna tinggal mangambilnya sesuai
alamat memorinya dan tidak dapat merubah karakter dasar yang ada dalam
CGROM.
Register control yang terdapat dalam suatu LCD diantaranya adalah.
Register perintah yaitu register yang berisi perintah-perintah dari
mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan
data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca pada
saat pembacaan data.
Register data yaitu register untuk menuliskan atau membaca data dari atau
keDDRAM. Penulisan data pada register akan menempatkan data tersebut
keDDRAM sesuai dengan alamat yang telah diatur sebelumnya.
Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display)
diantaranya adalah :
Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan
menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data
dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.
Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan
jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang
masuk adalah perintah, sedangkan logika high menunjukan data.
Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis
data, sedangkan high baca data.
Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.
Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini
dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke
ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.
Mikrokontroler
Mikrokontroler adalah komputer mikro dalam satu chip tunggal.
Mikrokontroler memadukan CPU, ROM, RWM, I/O paralel, I/O seri, counter-
timer, dan rangkaian clock dalam satu chip tunggal seperti terlihat pada Gambar 2
di bawah ini.
Gambar 4.2 Blok Diagram Mikrokontroler
Keypad
Keypad adalah bagian penting dari suatu perangkat elektronika yang
membutuhkan interaksi manusia. Keypad berfungsi sebagai interface antara
perangkat (mesin) elektronik dengan manusia atau dikenal dengan istilah HMI
(Human Machine Interface). Matrix keypad 4×4 pada artikel ini merupakan salah
satu contoh keypad yang dapat digunakan untuk berkomunikasi antara manusia
dengan mikrokontroler. Matrix keypad 4×4 memiliki konstruksi atau susunan yang
simple dan hemat dalam penggunaan port mikrokontroler. Konfigurasi keypad
dengan susunan bentuk matrix ini bertujuan untuk penghematan port
mikrokontroler karena jumlah key (tombol) yang dibutuhkan banyak pada suatu
sistem dengan mikrokontroler.

Kontruksi Matrix Keypad 4×4 Untuk Mikrokontroler

Gambar 4.3 Kontruksi Matrix Keypad 4x4


Konstruksi matrix keypad 4×4 diatas cukup sederhana, yaitu terdiri dari 4
baris dan 4 kolom dengan keypad berupas saklar push buton yang diletakan
disetiap persilangan kolom dan barisnya. Rangkaian matrix keypad diatas terdiri
dari 16 saklar push buton dengan konfigurasi 4 baris dan 4 kolom. 8 line yang
terdiri dari 4 baris dan 4 kolom tersebut dihubungkan dengan port mikrokontroler
8 bit. Sisi baris dari matrix keypad ditandai dengan nama Row1, Row2, Row3 dan
Row4 kemudian sisi kolom ditandai dengan nama Col1, Col2, Col3 dan Col4. Sisi
input atau output dari matrix keypad 4×4 ini tidak mengikat, dapat
dikonfigurasikan kolom sebagi input dan baris sebagai output atau sebaliknya
tergantung programernya.

4.4 Langkah Kerja Praktikum


1. Menyiapkan alat dan bahan.
2. Menghidupkan trainer mikrokontroler.
3. Pastikan jumper header yang ada pada rangkaian LCD 16x2 sudah
berpindah dari posisi off menjadi posisi on/5v.
4. Membuka CVAR.
5. Pilih file > new > project > code wizard AVR pilih ok, pilih
ATMEGA32A karena memakai microcontroler ATMEGA32A.
6. Pada tab chip pilih ATMEGA32A, pada tab clock pilih 12 MHz (12.000
Hz) sesuaikan dengan kristal mikrokontroler yang ada.
7. Pada tab ports pilih tab port B atau sesuai apa yang ingin digunakan
sebagai port output, pada bagian data direction rubah nilai in menjadi out
dari bit 0 sampai 7, pullup / output valuenya biarkan saja default.
8. Pada tab alpanumeric LCD ceklis Enable Alphanumeric LCD Support,
pilih counter typenya HD44780, characters linenya pilih 16 karena
memakai LCD 16x2, karena menggunakan port B sebagai output pada
bagian Connections LCD Module AVR pada setiap bagian portnya ganti
menjadi port B, sedangkan untuk setting bitnya adalah sebagai berikut:
PIN RS = PIN RS = Port B Bit 0
PIN RW = PIN EN = Port B Bit 2
PIN EN = PIN D4 = Port B Bit 3
PIN D4 = PIN D5 = Port B Bit 4
PIN D5 = PIN D6 = Port B Bit 5
PIN D6 = PIN D7 = Port B Bit 6
9. Merangkai rangkaian LCD sesuai dengan poin 8 diatas.
10. Pilih option program > generate, save and exit.
11. Save file dengan nama yang sama sebanyak tiga kali, catatan nama file
tidak boleh ada yang berbeda apabila apabila ada perbedaan akan terjadi
eror pada saat build/upload script ke mikrokontroler.
12. Merangkai rangkaian keypad 4x4 pada mikrokontroler dengan rangkaian
sebagai berikut:

Gambar 4.4 Keypad

13. Menulis script 4.1 dibawah ini :


#include <mega32a.h>
#include <alcd.h>
#include <delay.h>
#include <stdio.h>
#define pinkey PINA
#define portkey PORTA
char datakey, buffer;

char get_key(void)
{
buffer='-';
delay_ms(1);
portkey.0=0;
delay_us(1);

if (pinkey.4==0) buffer='1';
else if (pinkey.5==0) buffer='4';
else if (pinkey.6==0) buffer='7';
else if (pinkey.7==0) buffer='*';
portkey.0=1;
portkey.1=0;
delay_us(1);

if (pinkey.4==0) buffer='2';
else if (pinkey.5==0) buffer='5';
else if (pinkey.6==0) buffer='8';
else if (pinkey.7==0) buffer='0';
portkey.1=1;
portkey.2=0;
delay_us(1);

if (pinkey.4==0) buffer='3';
else if (pinkey.5==0) buffer='6';
else if (pinkey.6==0) buffer='9';
else if (pinkey.7==0) buffer='#';
portkey.2=1;
portkey.3=0;
delay_us(1);

if (pinkey.4==0) buffer='A';
else if (pinkey.5==0) buffer='B';
else if (pinkey.6==0) buffer='C';
else if (pinkey.7==0) buffer='D';
portkey.3=1;
return buffer;
}
void key_up (void)
{
portkey=0xF0;
delay_us(1);
while (pinkey != 0xF0);
delay_ms(10);
}

void main(void)
{
int x=0;
lcd_init(16);
PORTA=0xFF;
DDRA=0x0F;
lcd_clear();
while (1)
{
datakey = get_key();
if (datakey != '-')
{
lcd_gotoxy(x,0);
lcd_putchar(datakey);
}
key_up();
}
}
14. Compile script di bagian option project CVAR.
15. Apabila ada kegagal pada saat compile maka cobalah memeriksa dan
membenarkan script.
16. Apabila script telah benar maka build script pada option project CVAR
17. Pilih AVR sesuaikan tipe yang dipakai yaitu ATMEGA32.
18. Rubah pengaturan dengan memilih option Command> Program Options,
ceklis verify flash, dan verify EEPROM, kemudian rubah nilai LSP CLK
rubah ke paling cepat sesuaikan dengan cepat sesuaiakan dengan
komponen kristal pada mikrokontroler untuk kecepatan upload script.
19. Hubungkan USB laptop atau komputer dengan mikrokontroler.
20. Pada bagian option file pilih load flash file to buffer kemudian sesuaikan
file dengan file yang ingin digunakan.
21. Klik auto program.
22. Memperhatikan LCD ketika keypad 4x4 pada trainer mikrokontroler
ditekan.
4.5 Hasil Praktikum

Gambar 4.5 Hasil praktikum

Gambar 4.6 Hasil praktikum


Gambar 4.7 Hasil praktikum

Gambar 4.8 Hasil praktikum


Gambar 4.9 Hasil Praktikum

Gambar 4.10 Hasil Praktikum


Gambar 4.11 Hasil Praktikum

Gambar 4.12 Hasil Praktikum


4.6 Analisa
Pada praktikum kali ini menggunakan CVAVR sebagai source code editor
dan sebagai text editor untuk mikrokontroler, dan Khazama sebagai uploader
softwarenya.
Pada percobaan Port A status compile script sukses no eror. Namun karena
kita menggunakan LCD, sebelum di hubungkan dan di upload ke mikrokontroler
script yang awalnya sudah sukses di compile, kita tambahkan lagi script untuk
LCD pada CVAVR nya. Saat percobaan tombol pada keypad sukses tombol pada
keypad ditekan, hasil pada LCD sesuai script programnya.
4.7 Kesimpulan
Kesimpulan praktikum kali ini adalah dalam penggunaan mikrokontroler,
tampilan LCD dapat diatur dengan keypad pada mikrokontroler ataupun keypad
yang di hubungkan ke mikrokontroler,hanya dengan mengubah script sesuai
dengan apa yang diinginkan oleh pengguna untuk mikrokontrolernya. Sehingga
hasil ketikan pada keypad akan dapat di tampilkan pada LCD dari Mikrokontroler
tersebut. Misal pada keypad kita menekan angka 1 , sesuai pengaturan dari scripnya
maka hasil yang keluar pada LCD ialah angka 1 tersebut.
4.8 Tugas
1. Cara mengatur penempatan input pada keypad 4x4 adalah dengan penempatan
port sesuai dengan port yang di inginkan, lalu pada keypad terdapat socket male,
dimana socket male ada yang vertical dan ada yang horizontal, vertical untuk
baris, sedangkan horizontal untuk kolom, untuk penempatan port 0-4 pada
vertical keypad, dan penempatan port 5-7 pada horizontal keypad.
2. Cara merubah posisi letak inputan angka pada keypad 4x4 adalah dengan cara
merubah-ubah port yang digunakan ke bagian keypad lainnya atau dengan cara
mengubah scriptnya untuk output yang di-inginkan sesuai keinginan
programmer.
3. Sistem kerja keypad 4x4 pada trainer elektromedik adalah

Apabila B1 K1 ditekan, maka data yang akan di keluarkan adalah 1, apabila B2


K1 ditekan maka data yang akan dikeluarkan adalah 4, apabila B1 K2 ditekan
maka data yang akan dikeluarkan adalah 2, apabila B2 K2 ditekan maka data
yang akan dikeluarkan adalah 5, dan seterusnyaa. Data keluaran bisa saja dirubah
sesuai keinginan programmer.
4. Logika program “scanning keypad” untuk membuat beberapa tulisan angka pada
LCD pada saat tombol dari keypad ditekan adalah dengan menambahkan script
X++ ; (dimana x adalah variable bebasnya) dari pada hasil dari output yang
dihasilkan keypad (datakey).
DAFTAR PUSTAKA

Wikipedia. “Pengendali mikro”. Diakses: Kamis, 5 Oktober 2017.


https://id.wikipedia.org/wiki/Pengendali_mikro
“Perbedaan Mikrokontroler dan Mikroprosesor”. Diakses: Kamis, 5
Oktober 2017. http://www.immersa-lab.com/perbedaan-
mikrokontroler-dan-mikroprosesor.htm
Purnama, Agus. “Matrix Keypad 4×4 Untuk Mikrokontroler”. Diakses:
Jumat, 27 Oktober 2017. http://elektronika-dasar.web.id/matrix-
keypad-4x4-untuk-mikrokontroler/
“Keypad 4×4 Matrix”. Diakses: Jumat, 27 Oktober 2017.
https://depokinstruments.com/2011/07/27/teori-keypad-matriks-
4x4-dan-cara-penggunaannya/

Anda mungkin juga menyukai