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:
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);}
Ob es so funktioniert, kann ich nicht garantieren. Möglicherweise musst Du den Toleranzwert 4 (= tol) noch etwas verändern.
Lesezeichen