Teori Keypad
22.21
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.