Senin, 20 Januari 2014

Matrix Keypad 4×4 Untuk Mikrokontroler

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