Lengan Robot Oven Hasil Perancangan Perangkat Keras

Dari listing program diatas dapat dijelaskan bahwa yang ingin dilakukan adalah servo 1 bergerak 90°, kemudian servo 2 bergerak 90°. Setelah itu, servo 2 menuju ke 180°, dan dilanjutkan servo 1 menuju ke 180°. Setelah itu, enable L298 diaktifkan. Masukan ke L298 memutar Motor Dc berlawanan arah jarum jam selama 3000ms, kemudian berhenti selama 10000ms, dilanjutkan berputar searah jarum jam selama 3000ms, kemudian berhenti lagi selama 10000ms. Setelah itu, servo 1 kembali ke posisi awal 90° dan dilanjutkan ke servo 2 sebesar 90° juga.

4.3.3. Wadah Adonan

Berikut ini merupakan listing program untuk wadah adonan include mega16.h include stdlib.h include delay.h include stdio.h int e=0,gerakalas,geraksole; interrupt [TIM0_OVF] void timer0_ovf_isrvoid { ife==864{e=0;} else {e++;} ife=gerakalas{PORTD.4=1;} else {PORTD.4=0;} ife=geraksole{PORTD.2=1;} else {PORTD.2=0;} } Declare your global variables here void mainvoid { PORTD=0x00; DDRD=0xFF; TCCR0=0x01; TCNT0=0x00; OCR0=0x00; TIMSK=0x01; asmsei Dari listing program di atas, dapat dijabarkan bahwa servo alas adonan bergerak 90°, kemudian dilanjutkan oleh servo katup adonan sebesar 0°. Kemudian servo alas bergerak 180°, dilanjutkan servo katup adonan sebesar 67° dan kembali ke 0°. Akhirnya servo alas kembali lagi ke sudut 90°. Dan seterusnya.

4.3.4. LCD dan Keypad

Berikut ini merupakan listing program untuk LCD dan Keypad while 1 { gerakalas=47; delay_ms500; geraksole=16; delay_ms500; gerakalas=77; delay_ms500; geraksole=35; delay_ms500; geraksole=16; delay_ms500; gerakalas=47; delay_ms500; } } include mega16.h include stdlib.h include stdio.h include delay.h asm .equ __lcd_port=0x12 ;PORTD endasm include lcd.h int i=0; int y=0; char tt[10]; char buff[33]; int a=0; void keypad { PORTC=0b11111011; delay_ms1; ifPINC.4==0 {tt[i]=3;i++;delay_ms50;} else ifPINC.5==0 {tt[i]=6;i++;delay_ms50;} else ifPINC.6==0 {tt[i]=9;i++;delay_ms50;} else ifPINC.7==0 {ify10||y1 {lcd_clear;lcd_putsfError;delay_ms2000; tt[0]=0;tt[1]=0;y=0;i=0;} else { a=1;delay_ms50;}} PORTC=0b11111101; delay_ms1; ifPINC.4==0 {tt[i]=2;i++;delay_ms50;} else ifPINC.5==0 {tt[i]=5;i++;delay_ms50;} else ifPINC.6==0 {tt[i]=8;i++;delay_ms50;} else ifPINC.7==0 {tt[i]=0;i++;delay_ms50;} PORTC=0b11111110; delay_ms1; ifPINC.4==0 {tt[i]=1;i++;delay_ms50;} else ifPINC.5==0 {tt[i]=4;i++;delay_ms50;} else ifPINC.6==0 {tt[i]=7;i++;delay_ms50;} } void mainvoid { PORTC=0x00; DDRC=0x0F; PORTD=0x00; DDRD=0xFF; Dari listing program di atas, dapat dijabarkan bahwa pada void keypad dilakukan proses scanning untuk mendapat masukan apa yang diinginkan. Kemudian terdapat logika yang nantinya akan dimasukkan ke dalam LCD yang menyatakan bahwa saat lapisan kurang dari atau sama dengan 10, maka input yang diinginkan akan langsung di tampilkan di LCD dengan tampilan “Hasilnya = “. Namun, ketika input yang ditekan lebih dari 10, maka tampilan di LCD akan menjadi “Error” dan akan kembali lagi ke input lapisan untuk di input ulang.

4.4 Pengujian Alat

Alat diujikan untuk melihat apakah hasil yang ingin diperoleh sudah sesuai dengan kenyataan atau tidak. Pengujian dilakukan dengan pengulangan sebanyak 10 kali untuk mendapatkan data yang sah dan bisa dipertanggungjawabkan keabsahannya.

4.4.1. Pengujian Oven Motor DC 12V

Pengujian dilakukan dengan mengunduh listing program ke dalam mikrokontroler yang ada di dalam minsis. Dari hasil unduhan didapatkan bahwa motor tidak bekerja sama sekali. Dugaan awalnya adalah kabelnya ada yang putus, namun setelah diganti kabel yang baru hasilnya tetap sama saja. lcd_init16; while 1 { whilea==0 { keypad; y=atoitt; lcd_gotoxy0,0; sprintfbuff,Lapisan =d,y; lcd_putsbuff; delay_ms25; } lcd_gotoxy0,0; sprintfbuff,Hasilnya=d,y; lcd_putsbuff; delay_ms25; lcd_clear; } }