Man seid ihr schnell. Ein Lösungsversuch ohne float:

Code:
int8_t CalibrateWheels(int8_t power_right) {
....

return power_right * count_left / count_right ;
}
@Werner++
Mit der Funktion CalibrateWheels stellst Du das Verhältnis der Geschwindigkeiten von rechtem zu linken Rad fest.
Es werden die Impulse innerhalb einer bestimmten Zeit gemessen. Daraus könnte man dann schon die Geschwindigkeit berechen, aber das braucht man nicht. Das wird auch sehr ungenau, weil der Hochlauf der Motoren noch nicht berücksichtigt ist. Auch andere Faktoren wie mechanische Ungenauigkeiten der Räder, der Untergrund und die Traktion spielen hier noch rein. Vereinfacht kann man aber sagen: Gleiche Impulszahl auf beiden Seiten bedeutet geradeaus.