Subscribe For Free Updates!

We'll not spam mate! We promise.

Friday 22 May 2015

Key Pad (3x4/4x4)

             Pada postingan kali ini penulis ingin memparkan sedikit tentang pengertian Key Pad, bagaimana cara kerjanya dan pemrograman key pad dengan mikrokontrol ATMega dan software CVAVR. Untuk lebih jelasnya lagi mari kita menyimak artikel ini.
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 matrix 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)



Gb. 2a. Keypad berbahan carbon elastic/plastik 4x4
        
              
Gb. 2b Keypad berbahan carbon elastic/plastik 3x4

PERANGKAT KERAS KEY PAD

Gb.3a. Keypad berbahan carbon karet
     
  
Gb.3a. Keypad berbahan carbon karet
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).
Pengaturan Keypad.jpg

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.
Gb. Koneksi saklar pada keypad
Contoh Program
  1. Program mendeteksi tombol posisi sw 1,1 ditekan pada keypad dengan tampilan LCD
#include <mega16.h>
#include <delay.h>


... ..
Void main()
{
....
While(1)`````````````````````````````````````````````````````
    {
    PORTA.5=0;PORTA.6=0;PORTA.7=1;
    If(PINA.2==0)
          {lcd_putsf(“Sw 1,1 ditekan”);
          Delay_ms(10);
          }
    };
}

  1. Program menampilkan karakter angka pada LCD dengan penekanan 11 tombol (0-9 dan *#,)
#include <mega16.h>
#include <delay.h>


... ..
Void main()
{
....
While(1)
    {
    PORTA.5=0;PORTA.6=1;PORTA.7=1;
    if (PINA.3==0)lcd_putsf(“1”);
    else if (PINA.2==0) lcd_putsf(“4”);
else if (PINA.1==0) lcd_putsf(“7”);
    else if (PINA.0==0) lcd_putsf(“*”);
      delay_ms(1);
    PORTA.5=1;PORTA.6=0;PORTA.7=1;
    if (PINA.3==0)lcd_putsf(“2”);
    else if (PINA.2==0) lcd_putsf(“5”);
else if (PINA.1==0) lcd_putsf(“8”);
    else if (PINA.0==0) lcd_putsf(“0”);
    delay_ms(1);
    PORTA.5=1;PORTA.6=1;PORTA.7=0;
    if (PINA.3==0)lcd_putsf(“3”);
    else if (PINA.2==0) lcd_putsf(“6”);
else if (PINA.1==0) lcd_putsf(“9”);
    else if (PINA.0==0) lcd_putsf(“#”);
    delay_ms(1);
    };
}

Sekian sedikit apa yang dapat saya paparkan pada artikel ini. Semoga dapat bermanfaat dan menambah pemahaman kita akan Key Pad. Sampai bertemu pada artikel berikutnya.

Socializer Widget By Blogger Yard
SOCIALIZE IT →
FOLLOW US →
SHARE IT →

0 komentar: