danke für die links.
ich hab mein programm jetzt verbessert, asuro fährt jetzt schon mehr geradeaus als im kreis ^^.
hier nochma der verbesserte code:
Code:
#include "asuro.h"
int main(void)
{
int l=0;
int r=0;
int cnt;
int sleft=0;
int sright=0;
unsigned int data[2];
Init();
MotorDir(FWD,FWD);
MotorSpeed(150,170);
OdometrieData(data);
while(1)
{
r=0;
l=0;
while(l<5)
{
if (sleft!=1 && data[0]<700 )
{
sleft=1;
l++;
}
else if (sleft==1 && data[0]>700 )
{
sleft=2;
l++;
}
if (sright!=1 && data[1]<700 )
{
sright=1;
r++;
}
else if (sright==1 && data[1]>700 )
{
sright=2;
r++;
}
}
if (r>l)
{
MotorSpeed(200,165);
break;
}
if (r<l)
{
MotorSpeed(150,210);
break;
}
}
return 0;
}
So als nächstes werd ich versuchen, exakt die hell/dunkelübergänge zu erfassen, und solang auf der anderen Seite Gas geben, bis wieder die gleiche Anzahl verstrichen sind. Mal schauen ob das klappt [-(
Lesezeichen