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. Konstruksi matrix keypad 4×4 untuk mikrokontroler
dapat dibuat seperti pada gambar berikut.
Konstruksi
Matrix Keypad 4×4 Untuk Mikrokontroler 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. Proses Scaning
Matrix Keypad 4×4 Untuk Mikrokontroler Proses scaning untuk membaca penekanan
tombol pada matrix keypad 4×4 untuk mikrokontroler diatas dilakukan secara
bertahap kolom demi kolom dari kolom pertama sampai kolom ke 4 dan baris pertama
hingga baris ke 4. Program untuk scaning matrix keypad 4×4 dapat
bermacam-macam, tapi pada intinya sama. Misal kita asumsikan keyapad aktif LOW
(semua line kolom dan baris dipasang resistor pull-up) dan dihubungkan ke port
mikrokontrolr dengan jalur kolom adalah jalur input dan jalur baris adalah
jalur output maka proses scaning matrix keypad 4×4 diatas dapat dituliskan
sebagai berikut.
Mengirimkan logika Low untuk kolom 1 (Col1)
dan logika HIGH untuk kolom yang lain kemudian membaca data baris, misal tombol
SW1 ditekan maka data baris pertama (Row1) akan LOW sehingga data baris yang
dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data pada baris ke
2 akan LOW sehingga data yang terbaca 1011, atau tombol SW9 yang ditekan
sehingga data yang terbaca 1101, atau tombol SW13 yang ditekan maka data yang
dibaca adalah 1110 dan atau tidak ada tombol pada kolom pertama yang di tekan
maka data pembacaan baris akan 1111. Mengirimkan logika Low untuk kolom 2
(Col2) dan logika HIGH untuk kolom yang lain kemudian membaca data baris, misal
tombol SW1 ditekan maka data baris pertama (Row1) akan LOW sehingga data baris
yang dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data pada
baris ke 2 akan LOW sehingga data yang terbaca 1011, atau tombol SW9 yang
ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang ditekan maka
data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom pertama yang
di tekan maka data pembacaan baris akan 1111. Mengirimkan logika Low untuk
kolom 3 (Col3) dan logika HIGH untuk kolom yang lain kemudian membaca data
baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW
sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol
SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau
tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang
ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom
pertama yang di tekan maka data pembacaan baris akan 1111. Mengirimkan logika
Low untuk kolom 4 (Col4) dan logika HIGH untuk kolom yang lain kemudian membaca
data baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW
sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol
SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau
tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang
ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom
pertama yang di tekan maka data pembacaan baris akan 1111. Kemudian data
pembacaan baris ini diolah sebagai pembacaan data penekanan tombol keypad.
Sehingga tiap tombol pada matrix keypad 4×4 diatas dengan teknik scaning
tersebut akan menghasilkan data penekanan tiap-tiap tombol sebagai berikut.
SW1 = 0111 0111
|
SW9 = 0111 1101
|
SW2 = 1011 0111
|
SW2 = 1011 0111
|
SW10 = 1011 1101
|
SW3 = 1101 0111
|
SW11 = 1101 1101
|
SW4 = 1110 0111
|
SW12 = 1110 1101
|
SW5 = 0111 1011
|
SW16 = 1110 1110
|
SW6 = 1011 1011
|
SW13 = 0111 1110
|
SW14 = 1011 1110
|
SW7 = 1101 1011
|
SW15 = 1101 1110
|
SW15 = 1101 1110
|
SW15 = 1101 1110
|
(maap penulisan tabel
tidak urut harap di maklumi :v)
Data port mikrokontroler,
misalkan pada SW2 = 1011 0111 tersebut terbagi dalam nible atas dan nible bawah
dimana data nible atas (1011) merupakan data yang kita kirimkan sedangkan data
nible bawah (0111) adalah data hasil pembacaan penekanan tombol keypad SW2 pada
proses scaning matrix keypad 4×4 diatas
Sumber : http://elektronika-dasar.web.id/artikel-elektronika/matrix-keypad-4x4-untuk-mikrokontroler/
Copyright © Elektronika Dasar
0 komentar:
Posting Komentar