35
4.4. Pengujian Infrared dan Photodiode
Pengujian rangkaian sensor potodioda dan infrared dengan cara menggukur tegangan yang dikirimkan ke mikrokontroler pada saat pancaran led
infrared dihalangi dengan tidak dihalangi. Pengujian ini bertujuan, baik atau tidaknya sensor untuk digunakan,
berikut adalah data sensor ketika di halangi dan tidak di halangi Tabel 4.4 Hasil Pembacaan Sensor Photodoida
Instruksi Tegangan V
Saat brangkas di buka 0.0
Saat brangkas di tutup 4.9
4.5. Pengujian rangkaian solenoid door lock
Untuk pengujian solenoid door lock yaitu diberikan tegangan pada kaki basis di transistor, maka transistor BC547 akan aktif satu rasi. Hal ini
menyebabkan kumparan pada solenoid door lock dialiri arus listrik. Dengan demikian, knop solenoid door lock akan tertarik dan brangkas dapat dibuka.
Dioda berfungsi sebagai komponen pengaman transistor arus balik yang mungkin timbul akibat dari aktifnya kumparan relay. Maka transistor dalam keadaan tidak
aktif, untuk pengujian solenoid door lock dengan program di bwah ini.
pinMode9, OUTPUT; }
void loopvoid {
Universitas Sumatera Utara
36
digitalWriteA1,HIGH;l1=1; delay1000;
digitalWriteA1,LOW;l1=0; delay1000;
} Setelah program di download ke mikrokontroler, solenoid door lock
akanmengalami kondisi tertarik dan tidak selama 1 detik.
4.6. Pengujian rangkain keypad
Gambar 4.6 skematik keypad
Untuk pengujian keypad ada beberapa tahap. Tentukan terlebih dahulu kolom sebagai output dari mikrokontroler sedangkan baris sebagai input
kemikrokontroler. Langkah pertama Scanning kolom 1 PC0
keluarkan output ke kolom 1PC0
Universitas Sumatera Utara
37
kemudian deteksi penekanan baris1 PC4 kemudian deteksi penekanan baris2 PC5
kemudian deteksi penekanan baris3 PC6 kemudian deteksi penekanan baris4 PC7
Langkah kedua Scanning kolom 2 PC1 keluarkan output ke kolom 2 PC1
kemudian deteksi penekanan baris1 PC4 kemudian deteksi penekanan baris2 PC5
kemudian deteksi penekanan baris3 PC6 kemudian deteksi penekanan baris4 PC7
Langkah ketiga Scanning kolom 3 PC2 keluarkan output ke kolom 3 PC2
kemudian deteksi penekanan baris1 PC4 kemudian deteksi penekanan baris2 PC5
kemudian deteksi penekanan baris3 PC6 kemudian deteksi penekanan baris4 PC7
Langkah kempat Scanning kolom 4 PC3 keluarkan output ke kolom 4 PC3
kemudian deteksi penekanan baris1 PC4 kemudian deteksi penekanan baris2 PC5
kemudian deteksi penekanan baris3 PC6
Universitas Sumatera Utara
38
kemudian deteksi penekanan baris4 PC7 Maka dapat dijalankan dengan program sebagai berikut.
include mega32a.h include stdlib.h
include delay.h include lcd.h
void tekan_keypad_tampil_lcd {
PORTB = 0b11111110; delay_ms30;
if PINB.4 == 0 {lcd_putsf“1”; delay_ms300;} if PINB.5 == 0 {lcd_putsf“4”; delay_ms300;}
if PINB.6 == 0 {lcd_putsf“7”; delay_ms300;} if
PINB.7 == 0 {lcd_putsf“F”; delay_ms300;} PORTB = 0b11111101;
delay_ms30; if PINB.4 == 0 {lcd_putsf“2”; delay_ms300;}
if PINB.5 == 0 {lcd_putsf“5”; delay_ms300;} if PINB.6 == 0 {lcd_putsf“8”; delay_ms300;}
if PINB.7 == 0 {lcd_put sf“0”; delay_ms300;}
PORTB = 0b11111011; delay_ms30;
if PINB.4 == 0 {lcd_putsf“3”; delay_ms300;} if PINB.5 == 0 {lcd_putsf“6”; delay_ms300;}
Universitas Sumatera Utara
39
if PINB.6 == 0 {lcd_putsf“9”; delay_ms300;} if PINB.7 == 0 {lcd_putsf“E”; delay_ms300;}
PORTB = 0b11110111; delay_ms30;
if PINB.4 == 0 {lcd_putsf“A”; delay_ms300;} if PINB.5 == 0 {lcd_putsf“B”; delay_ms300;}
if PINB.6 == 0 {lcd_putsf“C”; delay_ms300;} if PINB.7 == 0 {lcd_putsf“D”; delay_ms300;}
} void tampil_variabel
{ char temp[6];
int a=500; float b=123.45;
itoaa,temp; lcd_gotoxy0,0;
lcd_putstemp; ftoab,2,temp;
lcd_gotoxy0,1; lcd_putstemp;
} void mainvoid
{ PORTC = 0xff;
Universitas Sumatera Utara
40
DDRC = 0x0f; while1
{ tampil_string;
}; }
Universitas Sumatera Utara
41
BAB 5 PENUTUP