hallo,

ich möchte ein programm erstellen mit dem der asuro folgendes macht:

http://www.youtube.com/watch?v=h5qPi0qSVXI

also er soll erst normal der linie folgen, und anschließend leicht drehen.
soweit klappt das programm recht gut.
nur der asuro sollte eigentlich mit dem wenden aufhören, wenn er die linie wiederfindet und diese weiterverfolgen.
und hier liegt das problem: der roboter dreht einfach immer weiter.

hier mal mein aktuelles programm:

#include "asuro.h"
#include <stdio.h>
int main(void)
{
Init();

while(1) {

FrontLED(1); //LED an

int lData[2]; // Speicher für die Messwerte zur Verfügung stellen
LineData(lData); // Einlesen der Messwerte

if (PollSwitch()==0){ //wenn kein taster gedrückt
if (lData[1] > lData[0]) { //Linienverfolgung
MotorDir(FWD,FWD);
MotorSpeed(150,225); }

else if (lData[1] < lData[0]) {
MotorDir(FWD,FWD);
MotorSpeed(225,150); }
}
else if(PollSwitch()!=0) //Kollisionsfall
{

int u=0;
while(u==0)
{
if (lData[1] > 100 && lData[0]>100) //Linie gefunden?
{
MotorDir(FWD,RWD); //drehen
MotorSpeed(150,0);
u=0;
}
else
{
u=1;
}
}
}
}



return 0;
}

edit: alte, inaktive programmteile gelöscht.