Akses keypad dengan arduino

 

        Keypad merupakan antarmuka antara komunikasi perangkat elektronik dengan manusia yang disebut dengan istilah HMI (Human Machine Interface).
        
         Keypad tersusun atas 16 buah push button yang dirangkai dengan konfigurasi dalam bentuk matrix, sehingga memiliki index baris dan kolom sehingga pin input ke Arduino dapat dikurangi.

Prinsip Cara Kerja

        Proses pembacaan dilakukan secara maktriks yaitu dengan menggunakan teknik scanning, dan pada proses tersebut hal yang dilakukan dengan memberikan umpan data pada 1 bagian dan memantau akan adanya feedback /umpan balik pada bagian lainnya.

        Umpan data dilakukan di bagian baris dan feedback yang ada dilakukan pengecekan pada bagaian kolom. Disaat kondisi baris diberikan umpan data, baris lainnya dalam kondisi inversi.

         Berikut contoh penekanan tombol keypad yang mudah diketahui dengan mencermati akan baris dan kolom mana yang ditekan :

 

 

Tutorial cara mengakses Keypad menggunakan Arduino

Bahan yang perlu dipersiapkan antara lain :
  • Arduino UNO bisa disini atau disini
  • Komputer + Software IDE Arduino
  • Keypad 4×4
  • Kabel Jumper

Rangkaian sederhana arduino dengan keypad
Skema yang perlu dirangkaikan

Sebelum membuat program, sudah disediakan libraries yang dapat digunakan sehingga akan sangat mempermudah dalam pemrogramannya.

Download library ( DI SINI )

Peletakan Library pada OS :
1. Mac : (home directory)/Documents/Arduino/libraries
2. PC (Windows) : My Documents -> Arduino -> libraries
3. Linux : (home directory)/sketchbook/libraries
Contoh koding pemrogramanya


#include <keypad.h>

//deklarasi jumlah baris dan kolom

//4 baris
const byte ROWS = 4;

//4 kolom
cinst byte COLS = 4;

char keys[ROWS][COLS] = {
//susnan kondisi keypad dalam perogram
{'1','2','3','a'},
{'4','5','6','b'},
{'7','8','9','c'},
{'#','0','*','d'}
};

keypad keypad=keypad(makekeymap(keys),rowPins,ROWS,COLS);

//pin yang di hubungkan ke arduino dari keypad
byte rowPins[ROWS] = {6, 5, 4, 3}; //pin yang digunakan untuk identifikasi baris
byte colPins[COLS] = {9, 12, 11, 19}; //pin yang digunakan untuk identifikasi kolom

void setup(){
//memulai penggunaan komunikasi serial dengan kecepatan 9600 bps
Serial.begin(9600);
}

void loop(){
char tombol = keypad.getkey();
if (tombol!= NO_KEY){
Serial.Println(tombol);
}
}


        Hasil dari pemrograman diatas yaitu apabila ditekan tombol maka hasil penekan akan muncul sesuai dengan bagian karakter tombol yang ditekan.

        Dari program sederhana diatas dapat dikembangkan lebih lanjut dengan penampil LCD, aktuator motor servo yang dapat diaplikasikan misal project kunci otomatis pintu rumah dengan password pin.
Untuk project yang dimaksud akan segera dibuatkan artikelnya, dikarenakan dapat diaplikasikan dalam kehidupan sehari – hari.

Terimakasih sudah berkunjung, dan semoga bermanfaat.

Komentar