Ungetesteter Vorschlag:
Code:
#include "asuro.h"
int main(void)
{
unsigned int lineData[2], STOP[2]; // Stopwert seitenabhängig verwalten
FrontLED(ON); // Front LED an
Sleep(10); // auch eine LED leuchtet nicht schlagartig
LineData(lineData); // Dummylesung, weil die erste Lesung meist fehlerhaft ist
LineData(lineData);
STOP[0] = lineData[0]-20; // STOP wert Berechnen (links)
STOP[1] = lineData[1]-20; // STOP wert Berechnen (rechts)
while(1)
{
MotorDir(FWD,FWD); // vorwärts cruisen...
MotorSpeed(180,180);
BackLED(ON,ON);
do
LineData(lineData);
while ((lineData[0] > STOP[0]) && (lineData[1] > STOP[1])); //solange bis der eingelesene wert dunkler wird als STOP
MotorDir(RWD,RWD); // zurücksetzen
MotorSpeed(255,255);
BackLED(OFF,OFF);
Msleep(5000);
MotorSpeed(180,0);
BackLED(OFF,ON);
Msleep(2000);
MotorSpeed(0,0);
}
return 0;
}
Lesezeichen