Auch hier wird die Schleife mit der sleep-Funktion jedes Mal aufgerufen. Was ich sagen wollte ist, dass du die for-Schleife mit der Sleepfunktion in den else-Block setzt

Code:
if (data[1] > 50 ) 
{
   MotorDir(FWD,FWD); 
   MotorSpeed(105,100);
} 
else
{
   MotorDir(RWD,RWD); 
   MotorSpeed(250,200);
   for (t=0; t< 50; t++) 
   { 
      Sleep (72);
   } 
}
So fragt er den Wert ab. Wenn er über 50 liegt (kein Fleck) fährt er vorwärts. Sollte der Wert <50 liegen schaltet er die Motoren in den Rückwärtsgang. Die for-Schleife mit der sleep-Funktion hält den Rückwärtsgang einen Moment lang "fest". Ohne die Schleife würde der Asuro, sobald er vom Fleck runter ist, wieder sofort wieder in den Vorwärtsgang schalten.