Rangkaian Keypad Motor Stepper Berbasis Mikrokontroller ATMega 8535 Pada Perancangan Sistem Kendali Otomatis Tetesan Cairan Infus Pada Pasien.

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