Ich habe jetzt hier einmal eine kleine Funktion geschrieben, aber ich bin mir nicht sicher ob die auch funktioniert. (bis jetzt nur Theorie)
gesch = Geschwindichkeit Werte von 0-255
weit = Strecke in ! cm ! Werte zwischen -32768 .. +32767
Code:
unsigned int data[2];
int weit;
unsigned char gesch;
unsigned int gef;
unsigned int mmm;
int drive(int weit, unsigned char gesch)
{
if(weit > 0){
MotorDir(FWD,FWD);}
else if(weit < 0){
MotorDir(RWD,RWD);}
else{
break;}
MotorSpeed (gesch,gesch);
OdometrieData(data);
if(data[0] < 500){
hellichkeit = 0;}
else{
hellichkeit = 1;}
OdometrieData(data);
while (weit < gef){
if(hellichkeit == 0){
if(data[0] > 500){
mmm = mmm + 68;
hellichkeit = 1;}}
else{
if(data[0] < 500){
mmm = mmm + 68;
hellichkeit = 0;}}
gef = mmm/100;}
MotorSpeed(BREAK,BREAK);}
Das er garade fährt und andere Kontrollen während der Funktion muss man hald noch ein bauen
gruß
Johannes
Lesezeichen