DIFF = 360-ABSDIFF;
LMotor_Speed = 1;
RMotor_Speed = 2;}
}
Motor();
/*Determine time for turn depending on error PROPORTIONAL CONTROL*/
if (ABSDIFF <= 180)
TurnTime = ABSDIFF/180;
else
TurnTime = (360 - ABSDIFF)/180;
TurnTime = TurnTime*250000;
for (i = 1; i <= TurnTime; i++);
/*Motors Stop*/
LMotor_Speed = 1.5;
RMotor_Speed = 1.5;
Motor();
yield;
}
/*Midcourse correction.*/
if (ABSDIFF >= 5 && (360-ABSDIFF) >=5){
if (ABSDIFF <= 180) {
if (DIFF <= 0){ /*Right turn*/
LMotor_Speed = 2;
RMotor_Speed = 1;}
else{/*Left turn*/
LMotor_Speed = 1;
RMotor_Speed = 2;}
}
else{
if (DIFF > 0) {/*Right turn*/
Komentarze do niniejszej Instrukcji