Teori Keypad
08.44
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 merupakan salah
satu contoh keypad yang dapat digunakan untuk berkomunikasi antara manusia
dengan 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:
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. Misal kita asumsikan keypad 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.