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;
} }