Hallo,

Um geradeaus zu fahren genugt es nicht dieselben Wert vor beide Motoren in die 'MotorSpeed()' Funktion ein zu geben.
Die Name der Funktion ist etwas betauschend denn beser ware es 'MotorEnergie()' zu nennen. Mann fuehrt eine bestimmte energie zu, und abhangig vom Reibung fahrt der Motor langsamer oder schneller.
Mit hilfe der Odometrie sollte es moglich sein dies zu losen.
Das Asuro Odometriesystem besteht aus ein Infrarot sender und empfanger am jeden schwarz/weissen 'Odorad'. Das vom Odorad reflektierten infrarotes Licht wird vom empfanger als ein analogen Wert an die Mikrocontroller angeboten. Diesen lasst sich mit dem A/D-Wandler auslesen. Dass ist alles.
Den Rest muss mann selbst herausfinden. z.B.
- die schwarz/weiss ubergange zu detectieren
- das zahlen vom vorbeigehende 'Odoflache'
- die umwandlung zum motorenergie-korrektionen (PID)
- alles unabhangig vom Umgebungslicht(!)
Fur's zahlen braucht mann ein Timer als Referenz.
Fur den Rest, den eigene Fantasie eingepackt im software.

Ein forum mitglied 'Waste' hat schon vieles dazu gemacht. (Lass dich nicht enttauschen)
Eine einfache geradeaus reglung von ihm findet mann hier:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=19948
Siehe das 9e Bericht in diesem Thread.
(der funktioniert nur bei bestimmten umgebungslicht)

Lass mal horen wenn's fertig ist..

Gruss

Henk