Anda di halaman 1dari 18

BAB IV

ANALISIS DAN PENGUJIAN

4.1 Pengujian Program Inisialisasi PPI dan Delay

Program untuk inisialisasi PPI :

void INITPPI (){


XBYTE [Pcont] = 0x90; // PA sbg input,PB dan PC sbg Output
}

Dengan memberikan nilai 0x90 atau 90 heksa desimal = 1001 0000 biner

pada Port Control PPI 8255, maka berdasarkan gambar Control Word dapat diketahui

bahwa Port A difungsikan sebagai input, Port B sebagai output, dan Port C sebagai

output.

Progamnya Delay :

void DELAY (int DL) {


while (DL>0)
DL--;
}

Cuplikan program delay ini difungsikan sebagai program penghentian

program untuk sementara berdasarkan nilai yang diisikan pada nilai integernya.

Semakin besar nilai integernya maka waktu pemberhetian program akan lama pula.

4.2 Pembangkitan Pulsa Ultrasonic

Dari program yang ditulis pada cuplikan pembangkitan pulsa ultrasonic akan

dihasilkan sinyal dari microcontroller yang dapat mengaktifkan dan menonaktifkan

switch pembangkitkan pulsa untuk masing-masing sensor ultrasonic. Bentuk sinyal


52

keluaran dari microcontroller yang digunakan untuk proses pembangkitan pulsa dapat

dilihat pada gambar 4.1.

Pulsa dibangkitkan dengan memberikan nilai 0 pada pin P1.0 untuk ultrasonic

kanan selama waktu tertentu, dalam hal ini menggunakan nilai delay (36). Dari delay

ini akan didapatkan bentuk pulsa sebesar 28 periode pulsa yang merupakan pulsa

yang mencukupi untuk dapat diterima oleh Receiver. Setelah didelay selama (36)

tersebut pin P1.0 diberi nilai 1 untuk mematikan pemberian tegangan ke rangkaian

transmiter.

ka = 0; // mengaktifakan sensor ultrasonic kanan


DELAY (36); // membentuk minimal 12 periode sinyal
ka = 1; // menonaktifakan sensor ultrasonic kanan

Hal ini berlaku juga untuk sensor ultrasonic tengah dan kiri. Hanya saja pin

yang digunakan untuk membangkitkan tegangan ke kedua ultrasonic tersebut

berbeda. P1.1 digunakan untuk ultrasonic tengah, dan P1.2 untuk ultrasonic kiri.

te = 0; // mengaktifakan sensor ultrasonic tengah


DELAY (36); // membentuk minimal 12 periode sinyal
te = 1; // menonaktifakan sensor ultrasonic tengah

ki = 0; // mengaktifakan sensor ultrasonic kiri


DELAY (36); // membentuk minimal 12 periode sinyal
ki = 1; // menonaktifakan sensor ultrasonic kiri

Gambar sinyal keluaran pada Transmiter ultrasonic dari program

pembangkitan pulsa ultrasonic terlihat pada gambar 4.2.


53

Gambar 4.1 Sinyal Keluaran Microcontroller Proses Pembangkitan Pulsa

Gambar 4.2 Sinyal Keluaran Transmiter Ultrasonic

Pembangkitan pulsa ini dilakukan terlebih dahulu sebelum robot melakukan

gerakan utamanya.

4.3 Pengujian Pengukuran Jarak

Pengujian pengukuran jarak disini hanya mengacu pada selang waktu antara

pulsa dikirim dan pulsa diterima. Karena dalam pembuatan robot ini nilai jarak tidak

ditampilkan dan pengukuran jarak hanya digunakan untuk mengetahui kondisi jauh
54

dekatnya halangan tanpa mengetahui nilai jaraknya yang nantinya dari masing

masing ultrasonic akan dibandingankan guna penentuan kemana robot akan bergerak.

Maka program yang dirancang hanya menggunakan pencacah hitungan yang selang

waktunya sama. Semakin besar nilai pencacahnya maka akan diketahui bahwa jarak

halangannya semakin jauh, demikian bila semakin kecil nilai pencacahnya maka akan

diketahui bahwa jarak halangannya dekat, namun apabila jaraknya melebihi nilai

jarak yang telah dibatasi pada pendeteksian ini maka receiver akan menerima nilai

yang akan sama dengan nilai dimana tidak ada halangan.

EX0 = 0; // menonaktifkan interrupt INT0


jar = 3500;
ki = 0; // mengaktifkan sensor ultrasonic kiri
DELAY (36); // membentuk minimal 12 periode sinyal
ki = 1; // menonaktifakan sensor ultrasonic kiri
EX0 = 1; // mengaktifkan interrupt INT0
bal = 1;
while (bal < 3500){ // pendetekasian jarak
bal ++;
}
EX0 = 0; // menonaktifkan interrupt INT0
suki = jar; // jarak = nilai jar, dr interrup jar = bal
jar = 3500;

ka = 0; // mengaktifakan sensor ultrasonic kanan


DELAY (36); // membentuk minimal 12 periode sinyal
ka = 1; // menonaktifakan sensor ultrasonic kanan
EX0 = 1; // mengaktifkan interrupt INT0
bal = 1;
while (bal < 3500){ // pendetekasian jarak
bal ++;
}
EX0 = 0; // menonaktifkan interrupt INT0
suka = jar; // jarak = nilai jar, dr interrup jar = bal
jar = 3500;

te = 0; // mengaktifakan sensor ultrasonic tengah


DELAY (36); // membentuk minimal 12 periode sinyal
te = 1; // menonaktifakan sensor ultrasonic tengah
EX0 = 1; // mengaktifkan interrupt INT0
bal = 1;
while (bal < 3500){ // pendetekasian jarak
bal ++;
}
EX0 = 0; // mengaktifkan interrupt INT0
sute = jar; // jarak = nilai jar, dr interrup jar = bal
jar = 3500;
55

Dengan menggunakan pin INT0 yang penulisan programnya adalah dibawah

ini :

void EXT0 () interrupt 0 using 2 {


EX0 = 0;
jar = bal;
bal = 3500;
}

Maka setiap kali ada halangan dari masing-masing ultrasonic program akan

menginterrupt. Gambar sinyal adanya halangan yang dideteksi oleh salah satu sensor

ultrasonic ditunjukkan gambar 4.3. Nilai pencacah akan dimaksukkan dalam variabel

tertentu yang dalam langkah programnya selanjutnya akan dimasukkan pada variabel

masing-masing sensor ultrasonic. Dalam program ditulis EX0 = 0 dan EX0 = 1

difungsikan untuk menghidupkan dan mematikan interrupt. Penulisan ini bertujuan

agar dalam kondisi tertentu apabila terdapat sinyal yang menyebabkan interrupt,

jalannya program tidak berpengaruh sama sekali.

Gambar 4.3 Sinyal Keluaran Reciever Ultrasonic.

Interrupt terjadi apabila terjadi kondisi low dari kondisi awal high pada sinyal

yang masuk ke pin INT0. Bentuk sinyal yang menyebabkan terjadinya interrupt

digambarkan pada gambar 4.4


56

Gambar 4.4 Sinyal Interrupt

4.4 Pengujian Program Gerak Motor Stepper

Berdasarkan pemberian nilai byte pada Port B, dapat dihasilkan perputaran

motor stepper yang sesuai dengan keinginan guna menggerakkan robot berdasar

inputan yang diterimanya. Karena menggunakan prinsip yang sama, maka dalam

pengujian ini hanya akan diambil beberapa kondisi dari banyak kondisi perputaran

motor stepper.

1. Kondisi Maju

Kondisi maju diperoleh dengan memutar motor stepper kanan serah jarum jam

dan motor stepper kiri berlawan jarum jam.

void maju () {
int I;
for(I=1;I<=13;I++){ // putar motorstepper 93,6 drajat
XBYTE [PB] =0x18;
DELAY (2200);
XBYTE [PB] =0x24;
DELAY (2200);
XBYTE [PB] =0x42;
DELAY (2200);
XBYTE [PB] =0x81;
DELAY (2200);
}
}
57

Dari program tersebut akan mengakibatkan nilai bit pada Port B bernilai

sebagaimana tertulis dalam tabel dibawah ini.

Tabel 4.1 Tabel Nilai Byte Penggerak Motor Stepper Yang


Menyebabkan Robot Maju

Motor Stepper Kiri Motor Stepper Kanan Nilai


Pin 1 Pin 2 Pin 3 Pin 4 Pin 1 Pin 2 Pin 3 Pin 4 Byte
Step 1 1 0 0 0 0 0 0 1 18 H
Step 2 0 1 0 0 0 0 1 0 24 H
Step 3 0 0 1 0 0 1 0 0 42 H
Step 4 0 0 0 1 1 0 0 0 81 H

Pemberian Delay pada motor stepper berpengaruh pada kecepatan putar motor

stepper. Nilai delay sangat berpengaruh pada tegangan yang terdapat pada suplai

motor stepper. Apabila pemberian delay tidak seimbang dengan pemberian suplay

tegangan pada motor stepper akan mengakibatkan perputaran motor stepper yang

buruk. Hal ini juga akan berpengaruh pada kekuatan gerak motor stepper.

Misalnya dengan delay yang kecil dan suplay tegangan yang besar akan

mengakibatkan perputaran motor stepper tidak sempurna. Hal ini disebabkan

karena dengan tegangan yang besar kekuatan untuk menggerakkan motor juga

besar dan dengan delay yang kecil akan mengakibatkan perubahan bit yang cepat

sehingga sebelum mencapai kondisi stabil motor stepper sudah dipaksa untuk

melakukan gerak selanjutnya. Yang pada kondisinya mengakibatkan perbedaan

arah medan magnet empat kutub magnet dalam motor stepper.

Dalam program ini penulisan for (I=1;I<=13;I++) akan menghasilkan output

dimana siklus maju ini akan diulang sebanyak 13 kali. Dimana sudah dijelaskan

pada Bab III, bahwa untuk 1 kali motor stepper akan berputar 7,2o , sehingga
58

dengan pengulangan motor sebanyak 13 kali ini dihasilkan perputaran motor

stepper sebesar 93,6o.

2. Kondisi belok kanan

Kondisi belok kanan diperoleh dengan memutar motor stepper kanan dan kiri

berlawan arah putar jarum jam.

void kanan () {
int I;
for(I=1;I<=3;I++){ // putar motorstepper 21,6 drajat
XBYTE [PB] =0x11;
DELAY (2200);
XBYTE [PB] =0x22;
DELAY (2200);
XBYTE [PB] =0x44;
DELAY (2200);
XBYTE [PB] =0x88;
DELAY (2200);
}
}

Tabel 4.1 Tabel Nilai Byte Penggerak Motor Stepper Yang


Menyebabkan Robot Belok Kanan

Motor Stepper Kiri Motor Stepper Kanan Nilai


Pin 1 Pin 2 Pin 3 Pin 4 Pin 1 Pin 2 Pin 3 Pin 4 Byte
Step 1 1 0 0 0 1 0 0 0 11 H
Step 2 0 1 0 0 0 1 0 0 22 H
Step 3 0 0 1 0 0 0 1 0 45 H
Step 4 0 0 0 1 0 0 0 1 88 H

Penulisan for (I=1;I<=13;I++) dalam cuplikan program ini akan

menghasilkan 21,6o perputaran motor stepper sebesar 93,6o.

4.5 Pengujian Program Pendeteksian Kamar

Berdasarkan perancangan, di depan kamar harus di kasih suatu tanda (pita

hitam) untuk menunjukan bahwa disamping kanan atau kiri robot terdapat kamar.
59

if (ired == 1 ){

else if (suka > suki ){ // mendeteksi kamar kanan


putarka90();
majubb(); // maju 1 meter
kamar ();
putarka90();
}

else if (suki > suka){ // mendeteksi kamar kiri


putarki90();
majubb(); // maju 1 meter
kamar ();
putarki90();
}

Dari penulisan program ini dapat diketahui bahwa, robot mendeteksi adanya

kamar diawali ketika inframerah mendeteksi adanya tanda (pita hitam) dengan

memberikan sinyal high pada P1.3 microcontroller dan sebaliknya. Namun setelah itu

proses dilanjutkan dengan melakukan pendeteksian posisi robot. Jika robot

mendeteksi halangan di sebelah kanan lebih jauh dari pada halangan disebelah kiri

maka robot mendeteksi adanya kamar disebelah kanan robot. Namun jika robot

mendeteksi halangan di sebelah kiri lebih jauh dibandingkan halangan disebelah

kanan maka robot mendeteksi adanya kamar disebelah kanan. Namun jika dua

kondisi ini tidak terpenuhi maka robot akan menjalankan proses yang lain.

Setelah mendetekasi adanya kamar robot akan maju 1 meter, karena dalam

perancangan ini hanya dibuat robot yang ukarannya kecil maka dibuat robot berjalan

1 meter yang diharapkan dapat masuk ke dalam kamar untuk melanjutkan proses

selanjutnya.

4.6 Pengujian Program Pencarian Titik Api dalam Kamar dan Pemadaman

Program yang dibuat :

void kamar (){


60

int h,I;
for (I=1;I<=40;I++){ // mengulang sebanyak setengah putaran untuk
mengetahui posisi api
kanan (); // belok kanan
DELAY (2000); // berhenti sejenak guna mendeteksi ada/tidaknya
api
if (ftran == 0){ // jika fototransisitor mendeteksi adanya api
for (h = 1; h <= 5;h++){ // maju 5 kali
maju();
}
while (ftran == 0){
XBYTE [PC] = 0xFF;
}
XBYTE [PC] = 0x00;
for (h = 1; h <= 5;h++){ // mundur 5 kali untuk kembali
keposisi semula
mndur();
}
}
} // sebelum berputar 1 putaran masih mendeteksi adanya titik
api
majubb();
}

Dari program kamar diperoleh hasil bahwa ketika robot sudah masuk ke

kamar robot akan melakukan perputaran sebanyak 180o. Ketika fototransistor tidak

mendetaksi adanya sumber cahaya dari api maka robot manganggap bahwa kamar

tersebut tidak ada api. Namun jika fototransistor mendeteksi adanya titik api robot

akan maju dan akan mematikan api tersebut dengan mengaktifkan Port C sampai api

tersebut padam. Diketahuinya api tersebut padam diperoleh dari sinyal yang diberikan

juga oleh fototransistor. Setelah padam, robot akan mundur keposisi semula dan akan

melakukan pendeteksian titik api lagi sampai kondisi putar 180o terpenuhi.

Setelah semua proses pendeteksian api selesai, robot akan maju 1 meter untuk

keluar dari kamar.

4.7 Pengujian Program Kembali Keposisi Awal.


61

void pulang (){


for (;;){
EX0 = 0; // menonaktifkan interrup INT0
jar = 3500;
ki = 0; // mengaktifkan sensor ultrasonic kiri
DELAY (36); // membentuk minimal 12 periode sinyal
ki = 1; // menonaktifakan sensor ultrasonic kiri
EX0 = 1; // mengaktifkan interrupt INT0
bal = 1;
while (bal < 3500){ // pendetekasian jarak
al ++;
}
EX0 = 0; // menonaktifkan interrupt INT0
suki = jar; // jarak didapat dari nilai jar, bila tjd interrup
jar = bal
jar = 3500;
ka = 0; // mengaktifakan sensor ultrasonic kanan
DELAY (36); // membentuk minimal 12 periode sinyal
ka = 1; // menonaktifakan sensor ultrasonic kanan
EX0 = 1; // mengaktifkan interrupt INT0
bal = 1;
while (bal < 3500){ // pendetekasian jarak
bal ++;
}
EX0 = 0; // menonaktifkan interrupt INT0
suka = jar; // jarak didapat dari nilai jar, bila tjd interrup
jar = bal
jar = 3500;

te = 0; // mengaktifakan sensor ultrasonic tengah


DELAY (36); // membentuk minimal 12 periode sinyal
te = 1; // menonaktifakan sensor ultrasonic tengah
EX0 = 1; // mengaktifkan interrupt INT0
bal = 1;
while (bal < 3500){ // pendetekasian jarak
bal ++;
}
EX0 = 0; // mengaktifkan interrupt INT0
sute = jar; // jarak didapat dari nilai jar, bila tjd interrup
jar = bal
jar = 3500;

if (ired == 1){
if (sute <= 200){ // jika mendeteksi ujung ruang/gedung
putar180();
diam ();
}

else {
maju();
}
}

else if (ired == 0){


if (suka == suki && sute >= suki){
maju ();
}
62

else if (suka <= suki && sute >= suki){


kiri ();
}

else if (suki <= suka && sute >= suka){


kanan ();
}

else if (suka <= suki && sute <= suka ){


putarki90 ();
}

else if (suka > suki && sute < suki && sute <= 150 ){
putarka90 ();
}

else {
maju();
}
}
}
}

Dari penulisan program didapat analisa bahwa proses awal yang dilakukan

dalam proses pulang atau kembali keposisi awal adalah melakukan pendeteksian

posisi kemana robot harus bergerak dengan menggunakan sensor ultrasonic. Untuk

menemukan posisi awal robot, peran sensor infra merah sangat berarti sebagaimana

dalam pendetaksian kamar, namun disini tanda diberikan di posisi awal robot. Jadi

ketika belum mendeteksi tanda yang terletak di posisi awal robot, robot akan bergerak

menelusuri ruangan. Apabila ditemukan tanda yang berada pada posisi awal, maka

robot akan mengabaikannya. Hal ini terlihat pada program yang ditulis diatas pada

kondisi infrared bernilai 1 (ired = 1). Namun ketika kondisi infrared bernilai 0 (ired

= 0), maka program hanya akan mengeksekusi program berdasarkan perbandingan

posisi robot terhadap halangan yang berada di samping kanan, kiri, dan tengah robot.
63

Posisi awal ini terpenuhi jika sensor ultrasonic tengah mendeteksi halangan

yang sangat dekat pada saat infra merah memberikan sinyal high ( 1 ) pada mikro.

Setelah mencapai posisi ini robot akan diam terus menerus.

4.8 Pengujian Program Utama

void main (){


INITPPI(); // pembacaan PPI
XBYTE [PC] = 0x00;
EX0 = 1;
IE0 = 1;
EA = 1;

for (;;){
EX0 = 0; // menonaktifkan interrup INT0
jar = 3500;
ki = 0; // mengaktifkan sensor ultrasonic kiri
DELAY (36); // membentuk minimal 12 periode sinyal
ki = 1; // menonaktifakan sensor ultrasonic kiri
EX0 = 1; // mengaktifkan interrupt INT0
bal = 1;
while (bal < 3500){ // pendetekasian jarak
al ++;
}
EX0 = 0; // menonaktifkan interrupt INT0
suki = jar; // jarak didapat dari nilai jar, bila tjd interrup
jar = bal
jar = 3500;
ka = 0; // mengaktifakan sensor ultrasonic kanan
DELAY (36); // membentuk minimal 12 periode sinyal
ka = 1; // menonaktifakan sensor ultrasonic kanan
EX0 = 1; // mengaktifkan interrupt INT0
bal = 1;
while (bal < 3500){ // pendetekasian jarak
bal ++;
}
EX0 = 0; // menonaktifkan interrupt INT0
suka = jar; // jarak didapat dari nilai jar, bila tjd interrup
jar = bal
jar = 3500;

te = 0; // mengaktifakan sensor ultrasonic tengah


DELAY (36); // membentuk minimal 12 periode sinyal
te = 1; // menonaktifakan sensor ultrasonic tengah
EX0 = 1; // mengaktifkan interrupt INT0
bal = 1;
while (bal < 3500){ // pendetekasian jarak
bal ++;
}
EX0 = 0; // mengaktifkan interrupt INT0
64

sute = jar; // jarak didapat dari nilai jar, bila tjd interrup
jar = bal
jar = 3500;

if (ired == 1){
if (sute <= 200){ // jika mendeteksi ujung ruang/gedung
putar180();
pulang();
}

else if ( suka > suki ){ // untuk mendetekasi kamar


sebelah kanan robot
putarka90();
majubb(); // maju 1 meter
kamar ();
putarka90();
}

else if ( suki > suka ){ // untuk mendetekasi kamar


sebelah kiri robot
putarki90();
majubb(); // maju 1 meter
kamar ();
putarki90();
}

else {
maju();
}
}

else if (ired == 0){


if (suka == suki && sute >= suki){
maju ();
}

else if (suka <= suki && sute >= suki){


kiri ();
}

else if (suki <= suka && sute >= suka){


kanan ();
}

else if (suka <= suki && sute <= suka ){


putarki90 ();
}

else if (suka >= suki && sute <= suki && sute <= 150 ){
putarka90 ();
}

else {
maju();
}
}
65

}
}
Hasil dari eksekusi program utama adalah diawali dengan melakukan proses

terhadap program inisialisasi PPI 8255, dan pengaktifan interrupt. Setelah itu robot

akan melakukan proses sebagaimana yang dilakukan pada proses kembali keposisi

awal. Namun di program utama ada sedikit perbedaan dengan apa yang terjadi pada

proses kembali keposisi awal dimana dalam program utama terdapat cuplikan

program untuk melakukan pendeteksian terhadap kamar. Yang bisa dijabarkan yaitu

ketika infrared memberikan sinyal high (ired = 1) ada banyak sekali kemungkinan,

diantaranya :

1. Ketika sensor ultrasonic tengah mendeteksi jarak yang sangat dekat itu

menandakan bahwa robot sudah berada pada posisi ujung gedung/lorong.

Sehingga robot akan melakukan pergerakan berputar 180o setelah itu akan

memanggil sub program kembali ke posisi awal (void pulang).

2. Ketika sensor kanan mendeteksi adanya halangan yang lebih jauh dibandingkan

dengan sensor ultrasonic kiri, maka hal ini menunjukkan bahwa di sebelah kanan

robot terdapat sebuah kamar yang perlu dimasuki untuk untuk dideteksi adanya

api atau tidak.

3. Ketika sensor kiri mendeteksi adanya halangan yang lebih jauh dibandingkan

dengan sensor ultrasonic kanan, maka hal ini menunjukkan bahwa di sebelah kiri

robot terdapat sebuah kamar yang perlu dimasuki untuk untuk dideteksi adanya

api atau tidak.

Poin 2 dan 3 merupakan program pendeteksian kamar.

4. Ketika ketiga kondisi diatas tidak tercapai maka robot akan melakukan gerakan

maju. Hal ini dimaksudkan untuk menggerakkan robot yang tidak berpengaruh

terhadap tiga kondisi diatas.


66

Namun apabila infra merah memberikan sinyal low (ired = 0) atau tidak

mendeteksi adanya tanda, maka robot akan menjalankan program dibawah ini :

1. Ketika sensor kanan mendetekasi halangan yang lebih kecil atau sama dengan

sensor tengah dan sensor kanan samadengan sensor kiri, maka program kan

mengeksekusi sub program maju.

2. Ketika sensor kanan mendeteksi jarak lebih dekat atau sama dengan sensor kiri

dan sensor tengah mendeteksi jarak yang lebih jauh atau sama dengan sensor kiri,

maka robot akan bergerak belok kanan.

3. Ketika sensor kanan mendeteksi jarak lebih jauh atau sama dengan sensor kiri dan

sensor tengah mendeteksi jarak yang lebih jauh atau sama dengan sensor kanan,

maka robot akan bergerak belok kanan.

4. Ketika sensor kanan mendeteksi jarak lebih dekat atau sama dengan sensor kiri

dan sensor tengah mendeteksi jarak yang lebih dekat atau sama dengan sensor

kanan, maka robot akan bergerak belok kiri 90o.

5. Ketika sensor kanan mendeteksi jarak lebih jauh atau sama dengan sensor kiri dan

sensor tengah mendeteksi jarak yang lebih dekat atau sama dengan sensor kiri,

dan sensor tengah juga mendeteksi jarak yang sangat dekat maka robot akan

bergerak belok kanan 90o.

6. Pengecualian dari kelima kondisi diatas maka robot akan bergerak maju.

Program utama merupakan awal dari semua sub program, dari program utama

inilah semua proses pemanggilan terhadap sub program dilakukan sesuai dengan

kondisi yang dicapai dari sensor-sensor yang terdapat dalam robot.


67

4.9 Pengujian Program Robot.

Robot mulai bekerja ketika rangkaian dan microkontroller di suplay tegangan atau

dengan mereset microkontroller. Sebagai pengujian program robot dibuat suatu bagan

rungan kerja robot yang terlihat pada gambar dibawah ini.

Gambar 4.5 Bagan Contoh Ruang Kerja Robot.


68

Keterangan posisi robot:

Posisi 1 : Posisi awal robot. Dimana robot mulai bekerja dan robot akan

kembali ketika semua program sudah selesai dilaksanakan.

Posisi 2 dan posisi 3 : Posisi yang menandakan adanya kamar di sebelah kiri robot.

Posisi 4 : Posisi yang menandakan ujung lorong.

Ketika robot mulai bekerja, robot akan berjalan maju dan bergerak sesuai dengan

kondisi sensor robot yang dituliskan dalam program.

Dari hasil pengujian program robot ini dapat diketahui bahwa Robot berjalan

sangat lambat, hal ini dipengaruhi oleh kerja dari motor stepper, serta waktu eksekusi

terhadap jarak halangan pada setiap kali siklus gerak robot.

Untuk motor stepper waktu bergerak motor stepper dipengaruhi oleh tegangan

suplay motor stepper dan waktu delay program.

Waktu yang dibutuhkan robot dalam bergerak dengan tegangan suplay ke motor

stepper 9 volt adalah :

1. Untuk bergerak maju sejauh 1 m tanpa halangan membutuhkan waktu :  41

sekon.

2. Untuk bergerak maju sejauh 1 m dengan halangan, waktu yang dibutuhkan

tergantung jumlah halangan yang dideteksi robot.

3. Untuk bergerak berputar 90o membutuhkan waktu :  7 sekon

4. Untuk bergerak berputar 180o membutuhkan waktu :  14 sekon

Anda mungkin juga menyukai