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.
Lesezeichen