Keypad merupakan komponen elektronik yang digunakan
sebagai masukan, disususun dari beberapa tombol/switch dengan teknik matrix.
Berdasarkan penjelasan tersebut, bahwa sebenarnya keypad merupakan
tombol-tombol yang dirangkai menjadi
sebuah paket dengan teknik menghubungkan satu tombol dengan tombol yang
lain dengan teknik matrix. Teknik adalah bisa dikatakan array, memiiki kolom
dan baris lebih dari satu. Berikut secara ilusrasi penghubungan tombol-tombol
pada keypad;
Gb.
1a. Skematik koneksi tombol pada keypad (3x4)
Gb.
1b. Skematik
koneksi tombol pada keypad (4x4)
Penyusun tombol pada keypad dapat
dibuat dari bermacam-macam bahan/komponen, seperti switch metal, switch karbon,
dan resistif/kapasitif (touch panel). Penggunaan bahan tersebut disesuaikan
dengan kebutuhan akan sensifitas, aksi penekanan, dan kebutuhan akan suatu
tombol khusus. Bahan switch metal pada keypad digunakan untuk kebutuhan keypad
atau tombol-tombol dengan arus yang besar. Keypad dengan bahan carbon dipakai
untuk kebutuhan tombol-tombol dengan arus kecil. Biasanya itu digunakan untuk
alat-alat digital yang hanya memiliki tegangan 0 dan 5v. Penerapan bahan banyak
kita jumpai seperti pada keypad remot tv, remot ac, joy stick, serta masih
banyak lainnya.
Sedangkan bahan penyusun keypad yang
bersifat resistif/kapasitif digunakan sebagai panel sentuh pada alat-alat
elektronik, seperti hp, smart phone, tablet, computer dan masih banyak lainnya.
Dengan bahan resistif/kapasitif dalam pembuatan keypad, pada area yang lebih
kecil didapatkan resolusi atau tombol yang lebih banyak. Berikut beberapa
bentuk dari keypad yang dipakai sebagai sinyal masikan pada mikrokontroller;
Pemrograman keypad dibutuhkan dua arah
komunikasi dalam mengambil data-data masukan dari keypad. Secara algoritma
peng-akses-an keypad dapat dituliskan seperti berikut:
Kirim data biner pada kolom ke-1 keypad
Ambil data biner (4bit) pada
baris keypad
Tunda
(us)
...
Kirim
data biner pada kolom ke-n keypad
Ambil
data biner (4bit) pada baris keypad
Tunda
(us)
Pembacaan data masukan dari keypad
sesuai dengan algoritma diatas harus didahului dengan pengiriman data kolom.
Pengiriman tersebut dimaksudkan sebagai signal yang akan dilewatkan salah satu
saklar apabila tombol ditekan/tertutup. Kebanyakan progran mendeteksi signal
masukan dari keypad menggunakan sinyal rendah (0/low). Penggunaan instruksi
tunda (delay) bisa flexible, apabila ingin mendeteksi masukan dengan cepat maka
tunda ditiadakan, selanjutnya sebaliknya.
Guna menterjemahkan symbol/karakter
yang akan dilekatkan pada tombol-tombol keypad maka dibutuhkan program tambahan
sebagai pengubah dari deteksi sinyal masukan menjadi karakter. Pengubahan ini
dapat dilakukan secara langsung ataupun ada anak program yang berfungsi untuk
mengubah/menterjemahkannya. Nilai/karakter bisa kita buat sesuai kemauan
programmer (tidak ada aturan yang pasti) meliputi karakter huruf (a-Z), angka
(0-9) dan symbol (“,+-dst).
Pemasangan keypad dengan
mikrokontroller dapat dihubungkan hanya pada salah satu PORT saja, seperti yang
digambarkan pada poin “B. Gambar rangkaian hardware” dibawah ini. Secara
pengaturan pada codewizard dapat dilakukan dengan langkah seperti yang
diilustrasikan sebagai berikut (Misal PORTA);
Gb4. Pengaturan CodeWizard untuk keypad
3x4
Dalam
1 PORT (Misal POTRA) digunakan menjadi dua fungsi, yaitu masukan Bit0 – Bit3
dan keluaran Bit5 – bit7. Masukan akan men-scanning data baris pada keypad yang
sedang terjadi, sedangkan keluaran digunakan untuk mengirim data rendah pada
kolom. Proses pengerjaanya dilakukan oleh mikrokontroler sangat cepat, sehingga
proses scanning tidak akan nampak kelihatan.
Gambar Rangkaian
Hardware
Pada labsheet kali ini akan menggunakan modul tambahan
(selain system minimum)
sebagai berikut;
Gb.
Koneksi saklar pada keypad