i_2=55;i_2>=0;i_2--)
{ SetServo(0,0,2,i_2);
SetServo(0,1,1,i_2);
}
for(i_2=0;i_2<90;i_2++) /*收起铲斗*/
{ SetServo(0,0,1,i_2);
SetServo(0,1,2,i_2);
}
wait( 1.500000 );
SetMotor(0,1,0,0); /*停止直流电机*/
motor(1,30);
motor(2,30);
f=2;
return;
}
/***********************************************************/
void xiezai()
{ drive(30,0);
wait(2.0);
for(i_2=80;i_2>=0;i_2--) /*卸载伺服动作*/
{ SetServo(0,0,1,i_2);
SetServo(0,1,2,i_2);
}
wait(0.5000);
for(i_2=90;i_2>=0;i_2--)
{ SetServo(0,2,2,i_2);
}
for(i_2=10;i_2<60;i++)
{ SetServo(0,2,2,i_2);
}
for(i_2=60;i_2>=0;i--)
{ SetServo(0,2,2,i_2);
}
wait(2.0000);
for(i_2=0;i_2<=90;i_2++)
{ SetServo(0,2,2,i_2);
}
for(i_2=0;i_2<=80;i_2++)
{ SetServo(0,0,1,i_2);
SetServo(0,1,2,i_2);
}
f=1;
return;
}
附录4
自动搬动机器人的JC程序如下:
int ma_1=0,ma_2=0,i,n,f=1,
ma_3=0,ir_1=0,k=1,gi_1,ma_4=0,qx,zx,photo_2=0;
/***************************************************************/
void main()
{ InitSV(0);
SetServo(0,2,2,90); /*翻斗电机初始化*/
wait(0.5);
for(gi_1=50;gi_1>=0;gi_1--)
{ SetServo(0,0,2,gi_1);
SetServo(0,1,1,gi_1);
}
for(gi_1=0;gi_1<=90;gi_1++) /*伺服初始状态前方铲斗*/
{ SetServo(0,0,1,gi_1);
SetServo(0,1,2,gi_1);
}
wait(1.0);
/**************开始循环执行的主程序**********************/
while(1)
{ ir_1=ir_detector();
printf("ir_1=%d\n",ir_1);
if((ir_1==4)&&(k==1)) /*避障一次条件*/
{ tone(523.200012,0.250000);
bizhang();
}
line();
}
}
/************************************************************/
void line() /*沿线走*/
{ while(1)
{ photo_2=photo(2); /*平地还是上坡*/
if(photo_2 ==