Das liegt mit ziemlicher Sicherheit daran, dass die Bedingung:
if(l1 == l2) {....}
in der 3.letzten Zeile bei Deinem ASURO nie erfüllt ist.
Durch Bauteiltoleranzen kann es sein, dass da eben doch eine kleine Differenz entsteht.
Versuch doch mal statt der letzten drei Zeilen in der while-Schleife folgendes:
Ob es so funktioniert, kann ich nicht garantieren. Möglicherweise musst Du den Toleranzwert 4 (= tol) noch etwas verändern.Code:#define tol 4 if (abs(l1-l2) <= tol){MotorSpeed(200,200);} if ((l2-l1) > tol){MotorSpeed(0,170),BackLED(OFF,ON);} if ((l1-l2) > tol){MotorSpeed(170,0),BackLED(ON,OFF);}







Zitieren

Lesezeichen