Penggunaan keypad seringkali digunakan pada embedded sistem, seperti untuk memasukkan password, memasukkan jumlah liter yang dikeluarkan pada mesin SPBU, dan lain sebagainya. Penggunaan Push-button terkdang menjadi alternatif lain selain keypad, tetapi karena pemasangannya yang cukup rumit menjadikan push-button bukan menjadi pilihan utama, salah satu keuntungan penggunaan push-button adalah ia dapat menggunakan pin analog untuk inputnya, sedangkan keypad tidak bisa, keypad umumnya hanya bisa mengguakan pin digital, karena sudah ketentuan library-nya.
Artikel ini akan membahas mengenai penggunaan keypad matrix 4x4 yang akan dihubungkan dengan Arduino, untuk keypad yang digunakan dapat dilihat pada Gambar berikut:
Keypad ini mempunyai 16 tombol yang berupa angka 1 sampai 9, Huruf A sampai D dan karakter * dan #, bentuk dari keypad ini sangat tipis, selain itu terdapat perekat dibagian belakang yang akan memudahkan keypad pada jenis pengaplikasian. Spesifikasi dari Keypad ini adalah:
- Maximum Rating : 24 Vdc, 30 mA.
- Antarmuka: 8 pin untuk mengakses keypad 4x4 matrix.
- Suhu operasi: 32 sampai 122 derajat F (0 sampai 50 derajat Celcius).
- Ukuran: 6.9 x 7.6 cm
Untuk mempprogram keypad ini kita membutuhkan library tambahan, anda dapat mendownload Library-nya di https://drive.google.com/open?id=1wU5WiwDRcuaGn6C6PExBu5JriOD4oQP0
Contoh program sederhana dari keypad ini adalah:
Upload program tersebut, kemudian buka Serialmonitor. Setelah itu coba tekan tombol keypad-nya satu persatu, maka hasilnya akan terlihat seperti Gambar berikut:
Bila kita lihat pada Gambar diatas, maka setiap kali kita menekan keypad maka hasilnya langsung ditampilkan diserial monitor. Dari sini timbul permasalahan, bagaimana jika kita ingin memasukkan/menampilkan beberapa angka sekaligus, misalnya kita ingin menampilkan angka 1994 atau 53AD. Untuk mengatasi permasalahan tersebut, kita bisa menggunakan perintah isDigit atau isAlpha, lebih jelasnya saya menggunakan program sebagai berikut:
Hasilnya dapat dilihat pada Gambar dibawah
Terimakasih
ReplyDelete