Es gibt mehrere Möglichkeiten, das Odometrische Zeugs auszuwerten. Eine davon ist eben, die Anzahl der Übergänge links mit denen von rechts zu vergleichen.
Als Erstes machst du aus 0-1023 einen Nuller oder Einser
if (data[0] > 412) Lnow = 1; else Lnow = 0;
if (data[1] > 412) Rnow = 1; else Rnow = 0;
Um einen Übergang zu erkennen, brauchst du den Werte von jetzt und den von vorher (Lold , Rold),vergleichst auf Wechsel und zählst
if (Lnow ^ Lold) Count++; // links
if (Rnow ^ Rold) Count--; // rechts
Lold = Lnow; // merken
Rold = Rnow; // merken
// ---------------------------Vergleich:
If (Count > 0) { rechts -zu- langsam }
If (Count < 0) { rechts -zu- schnell }
Anm: Im Beispiel wird sowohl hell / dunkel als auch dunkel /hell gezählt. geht auch anders, is aber mal egal.
Lesezeichen