Gambar 4.7. Oven Tampak Samping
Gambar 4.8. Motor DC 12V penggerak konveyor dan pintu otomatis PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.3. Hasil Perancangan dan Pembahasan Perangkat Lunak
Pemrograman mengenai keseluruhan alat terdapat dibagian lampiran. Pemrograman yang dilakukan dibuat dengan setiap alat dipisah antara satu program dengan program yang
lain untuk melihat efektivitas alat, apakah sudah berfungsi secara optimal atau tidak.
4.3.1. Oven
Berikut ini merupakan listing program untuk oven motor DC 12V
Dari listing program diatas, yang ingin dilakukan yakni memutar motor DC 12v berlawanan arah jarum jam selama 3000ms, kemudian berhenti sejenak selama 5000ms,
kemudian berputar kembali searah jarum jam selama 3000ms, kemudian berhenti lagi selama 5000 ms. Demikian seterusnya.
4.3.2. Lengan Robot
Berikut ini merupakan listing program untuk menggerakkan dua buah servo dan satu buah motor dc 5v.
include mega16.h include delay.h
void mainvoid {
PORTA=0x00; DDRA=0x00;
PORTB=0x00; DDRB=0x00;
PORTC=0x00; DDRC=0x00;
PORTD=0x00; DDRD=0xFF;
while 1 {
PORTD.0=1; PORTD.2=1; PORTD.4=0; delay_ms3000;
PORTD.2=0; PORTD.4=0; delay_ms5000; PORTD.2=0; PORTD.4=1; delay_ms3000;
PORTD.2=0; PORTD.4=0; delay_ms5000; }
}
include mega16.h include stdlib.h
include delay.h include stdio.h
int e=0,gerak,gerak1; interrupt [TIM0_OVF] void timer0_ovf_isrvoid
{ ife==864{e=0;}
else {e++;} ife==864{e=0;}
else {e++;} ife=gerak{PORTD.4=1;}
else {PORTD.4=0;} ife=gerak1{PORTD.2=1;}
else {PORTD.2=0;} }
void mainvoid {
PORTD=0x00; DDRD=0xFF;
TCCR0=0x01; TCNT0=0x00;
OCR0=0x00;
TIMSK=0x01; asmsei
while 1 {
gerak=49; delay_ms500;
gerak1=50; delay_ms1000;
gerak1=78; delay_ms500;
gerak=73; delay_ms500;
PORTD.6=1; PORTD.3=1; PORTD.5=0;
delay_ms3000; PORTD.3=0; PORTD.5=0;
delay_ms10000; PORTD.3=0; PORTD.5=1;
delay_ms3000; PORTD.3=0; PORTD.5=0;
delay_ms10000; gerak=49;
delay_ms500; gerak1=50;
delay_ms500; }
}
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