Erstmal danke für den Vorschlag. Klang auf jeden Fall logisch. Jedoch funktionierte dies auch nicht ganz korrekt.
Ich hab es jetzt selbst soweit hinbekommen, dass es funktioniert.
Code:
...
while(1){
LineData(data);
if (data [0] > 50 ) { // neben der linie
SpeedLinks=33;
SpeedRechts=175;
MotorSpeed(SpeedRechts,SpeedLinks);
if(!(SndBuf[0] == 'R')) {
SndBuf[0]='R';
SerWrite(SndBuf,1);
}
}
else { // Korrektur, um auf die Linie zurückzukommen
SpeedLinks=175;
SpeedRechts=33;
MotorSpeed(SpeedRechts,SpeedLinks);
if(!(SndBuf[0] == 'L')) {
SndBuf[0]='L';
SerWrite(SndBuf,1);
}
}
Msleep(5);
...
Wichtig ist dabei das Msleep am ende. Ohne diesem Sendet er daten mehrmahls und auch falsch...
Am zweiten habe ich nichts verändert...
Nun funktioniert alles soweit wie ich es wollte. Lediglich dass die Geschwindigkeiten der beiden nicht richtig übereinstimmen...
vielen dank, Julian
Lesezeichen