Lass dir zuerst mal deine Werte für die Odometrie ausgeben.
Im Anhang als Beispiel meine Werte.
Du brauchst dir nur in Excel von beiden Odometriereihen den Mittelwert bilden lassen und fertig.
Die Hysterese kannst du dir sparen da es sich ja eh nur um ungefähre Mittelwerte handelt. Außerdem sind die Amplituden der Sinuswellen so groß dass die +-10 der Hysterese nicht ins Gewicht fällt.
Hier ein Beispiel wie du den links und rechts zurückgelegten Weg bekommst. Die von dir gewünschte Differenz ist halt dann einfach counter_l-counter_r
Übrigens entspricht 1 Tick 3mm Fahrstrecke bei der 8er Odometriescheibe.
Code:
//alle folgenden Variablen sind vom typ int
OdometrieData(odata);
if(odata[0]<ODOMETRIE_L && flag_l==0)
{
counter_l++;
flag_l=1;
}
else if(odata[0]>ODOMETRIE_L && flag_l==1)
{
counter_l++;
flag_l=0;
}
if(odata[1]<ODOMETRIE_R && flag_r==0)
{
counter_r++;
flag_r=1;
}
else if(odata[1]>ODOMETRIE_R && flag_r==1)
{
counter_r++;
flag_r=0;
}
Lesezeichen