LCD DAN KEYPAD 13APR >>>KEYPAD<<< Pada dasarnya keypad yang ada dipasaran baik yang berukuran keypad 3×3, 3×4 atau 4×4, hanya tersusun dari beberapa push button yang dikonfigurasikan antara kolom dengan baris. Sehingga sering disebut juga keypad matriks nxm (n=kolom m=baris). Kolom dan baris ini nantinya yang digunakan untuk pendeteksian penekanan tombol. Berikut adalah konfigurasi dasar untuk keypad 4×4. B1, B2, B3 dan B4 merupakan baris ke 1 sampai baris ke 4, sedangkan C1, C2, C3 dan C4 merupakan kolom ke 1 sampa i kolom ke 4 keypad. Terlihat jelas betapa sederhananya rangkaian dasar keypad untuk ukuran keypad 4×4 yang terdiri dari 16 buah push button yang dikonfigurasikan seperti matriks. Saya sendiri membuat keypad menggunakan rangkaian diatas, dikarenakan mahalnya harga keypad. Dipasaran saja keypad 4×4 bisa seharga Rp. 50.000, sedangkan untuk membuatnya tidak sampai Rp. 10.000. Baiklah kembali lagi kemateri keypad. Sekarang saya punya pertanyaan? Kenapa kita tidak menggunakan push button saja yang disusun seperti biasa, kenapa harus menggunakan keypad matrik. Jawabannya mudah saja, kalo menggunakan susunan seperti biasa maka akan menghabiskan 16 pin mikrokontroleruntuk 16 buah tombol. Sedangkan jika dikonfigurasikan seperti diatas hanya menghabiskan 8 pin saja. Jadi lebih ringkas dan irit dalam penggunaan pin mikrokontroler. Sekarang cara untuk mengakses keypad, tapi terlebih dahulu perhatikan gambar berikut.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
ftoa(b,2,temp); //angka 2, banyaknya digit dibelakang koma yg ditampilkan
lcd_gotoxy(0,1);
lcd_puts(temp);
}
void main(void)
{
PORTB = 0xff;
DDRB = 0x0f;//PA0-3 sebagai output, PA4-7 sebagai input
while(1) //program utama
{//tinggal dilakukan pemanggilan fungsi saja, contoh:
tampil_string(); //pemanggilan fungsi tampil_string()
};
}
KeypadKeypad adalah rangkaian tombol yang berfungsi untuk memberi sinyal pada suatu
rangkaiandengan menghubungkan jalur-jalur tertentu. Keypad terdiri dari beberapa macam berdasarkan jumlah tombol dan fungsinya. Pada sistem pengontrolan ini, digunakan keypad
matriks 4 x 4 (16saklar).Gambar 2.10. Skematik Keypad 4 x 4Keypad Matriks : Konsep
Dasar Pada tutorial ini akan saya paparkan konsep dasar mengakses dan menggunakan Keypad
Matriks4x4 sebagai media inputan tetapi sebelumnya, anda sebaiknya membaca terlebih dahulututorialhardware mengenai Keypad Matriks agar mudah dipahami programnya karena
memprogrammikrokontroler berdasarkan dengan hardwarenya.Program berikut menggunakan
mikrokontroler ATmega8535 dengan bahasa pemrogramanCodeVisionAVR (baca MemulaiCoViAVR) akan tetapi jika telah memahami konsepnya, mikroapapun dengan bahasa
pemrograman yang lain pun tidak akan mengalami kesulitan.Keypad Matriks dan konfigurasi
keypad sebagai berikut :* Kolom 1 pada PORTA.0* Kolom 2 pada PORTA.1
* Kolom 3 pada PORTA.2* Kolom 4 pada PORTA.3* Baris 1 pada PORTA.4* Baris 2 padaPORTA.5* Baris 3 pada PORTA.6* Baris 4 pada PORTA.7Prinsip dasar pada program :* Jika
tombol 2 di tekan (S2) maka Kolom 2 Baris 1 terhubung atau PORTA.1 terhubungdengan
PORTA.4, Jika tombol B di tekan (SB) maka Kolom 4 Baris 2 terhubung atau PORTA.3terhubungdengan PORTA.5, dst.* Pin-pin KOLOM pada port tersebut dijadikan output dan pin-pin BARIS
pada port tersebutdijadikan input, bisa juga sebaliknya terserah anda sebagai programmer,
yang jelas salah satuoutput dan yang lain input.* Setiap saklar atau penekanan tombol, harusdidefinisikan nilai dari tombol tersebut baik berupa nilai Desimal, Heksadesimal, maupun
karakter ASCII.* Saat saklar (tombol keypad) ditekan dan BARIS dengan KOLOM terhubung
maka terserahanda mendetaksi perubahan logika yang terjadi pada pin-pin INPUT. Apakah dariLOW keHIGH (0 - 1) atau HIGH ke LOW (1 - 0). PadaPada Coding program untuk Keypad
Matriks yang saya buat menggunakan nilai ASCII dan saattombol ditekan mendeteksi
perubahan logika dari HIGH ke LOW (1 - 0) atau rendah aktif.Alasan :* Nilai ASCII adalah nilai
karakter seperti '1', '2', 'A', 'D', dst, yang pada listing program akanmudah dilihat nilainya danmudah pahami, berbeda dengan desimal maupun heksadesimal. '1' =0x31 (heksa), '1' =
* Pada penekanan tombol, mengapa mendeteksi HIGH ke LOW daripada LOW ke HIGH ?karena
untuk mikrokotroler maupun rangkaian digital secara umum "menurunkan" tegangan berapapun ke
0 volt lebih mudah dan pasti dibandingkan "menaikkan" tegangan dari 0 volt kenilai tertentu.Efek Bounching (Pantulan)Listing pada gambar belum termasuk menangani tentang bounching dan lain-
lain. Bounching pada keypad yaitu efek perubahan sinyal berkali-kali (pantulan) saat penekanan
keypad yangmenyebabkan keypad seolah-olah tombol keypad ditekan berkali-kali.Ada berbagai
macam cara untuk mencegah menghilangkan efek bouncing ini baik dari segihardware dansoftware.* Jika hardware maka dengan menambahkan filter frekuensi tinggi atau dengan IC555
untuk menambah lebar pulsa.* Jika Software dengan menambah delay atau tundaan saat tombol
ditekan atau denganmendeteksi karakter tombol apakah sama dengan sebelumnya
Pada potogan program tersebut terdapat rumus D = A + C, rumus ini digunakan untukmenggeser karakter yang ditampilkan oleh dot matrix sebanyak satu kali kearah kiri. pada
potongan program tersebut proses scanning hanya untuk 5 kolom saja, jika proses ini
hanya diulangi sekali saja maka karakter yang ditampilkan tidak akan terlihat karena terlalu
cepat, oleh karena itu proses ini juga diulang ulang sebanyak 5 kali supaya tampilan dapat