51
3.5. Rangkaian Keypad
3.5.1 Cara Kerja Rangkaian
Rangkaian keypad yang digunakan ditunjukkan pada gambar berikut ini :
Gambar 3.13. Rangkaian keypad
Rangkaian keypad yang digunakan adalah rangkaian keypad yang telah ada dipasaran. Keypad ini terdiri dari 16 tombol yang hubungan antara tombol-tombolnya
seperti tampak pada gambar di atas. Rangkaian ini dihubungkan ke port A pada mikrokontroler ATmega8535.
3.5.2 Fungsi Rangkaian
Rangkaian Keypad berfungsi sebagai tombol untuk memasukan banyaknya jumlah tetesan yang diinginkan. Kemudian data yang diketikkan pada keypad akan diterima oleh
mikrokontroler ATmega8535. selanjutnya ditampilkan pada LCD
Universitas Sumatera Utara
52
3.5.3 Pengujian Rangkaian
Pengujian rangkaian tombol ini dapat dilakukan dengan menghubungkan rangkaian ini dengan mikrokontroler ATmega8535, kemudian memberikan program sederhana untuk
mengetahui baiktidaknya rangkaian ini. Rangkaian dihubungkan ke PORTA. Untuk Mengecek penekanan pada A tombol yang paling atas, maka data awal yang dimasukkan
ke PORTA adalah FEH. Dengan demikian maka PINA.0 akan mendapat logika low 0,
dan yang lainnya mendapat logika high 1, seperti berikut: Tbl 1
Tbl 2 Tbl 3 Tbl A
PA.0 0 PA.1 1
PA.2 1 PA.3 1
PA.4 1 PA.5 1
PA.6 1 PA.7 1
Gambar 3.14. Diagram Logika Keypad
Jika terjadi penekanan pada Tbl 1, maka PA.0 akan terhubung ke PA.4 yang menyebabkan PA.4 juga akan mendapatkan logika low 0. Seperti berikut,
Tabel 3.7. Turth Table Tombol 1
PA.7 PA.6 PA.5 PA.4 PA.3 PA.2 PA.1 PA.0
1 1
1 1
1 1
Universitas Sumatera Utara
53
Data pada PORTA akan berubah menjadi EEH. Data inilah sebagai indikasi
adanya penekanan pada tombol 1. Jika terjadi penekanan pada Tbl 2, maka PA.0 akan terhubung ke PA.5 yang menyebabkan PA.5 juga akan mendapatkan logika low 0.
Seperti berikut,
Tabel 3.8. Turth Tabel Tombol 2
PA.7 PA.6 PA.5 PA.4 PA.3 PA.2 PA.1 PA.0
1 1
1 1
1 1
Data pada PORDA akan berubah menjadi DEH. Data inilah sebagai indikasi adanya
penekanan pada tombol 2. Demikian seterusnya untuk tombol-tombil yang lain. Program uji keypad
while 1 {
Place your code here data = keypad;
sprintfbuf,data: -i,data; };
}
flash unsigned char keypad {
PORTA = 0b11111110; aktifkan baris1 memberi logika 0 ke baris1 delay_ms10;
ifPINA.7==0 return 10; ifPINA.6==0 return 11;
ifPINA.5==0 return 12; ifPINA.4==0 return 13;
========================
Universitas Sumatera Utara
54 PORTA = 0b11111101; aktifkan baris2
delay_ms10; ifPINA.7==0 return 3;
ifPINA.6==0 return 6; ifPINA.5==0 return 9;
ifPINA.4==0 return 15; ========================
PORTA = 0b11111011; aktifkan baris3 delay_ms10;
ifPINA.7==0 return 2; ifPINA.6==0 return 5;
ifPINA.5==0 return 8; ifPINA.4==0 return 0;
======================== PORTA = 0b11110111; aktifkan baris4
delay_ms10; ifPINA.7==0 return 1;
ifPINA.6==0 return 4; ifPINA.5==0 return 7;
ifPINA.4==0 return 14; }
3.6 Rangkaian Driver Motor Stepper 3.6.1 Cara Kerja Rangkaian