Code:
#include "asuro.h"
int main(void) {
Init ();
int cm90=16.5;
int s1=10;
int s2=20;
int i, t;
#define vor {while (encoder[LEFT]<=s2*3){MotorDir(FWD,FWD);MotorSpeed(160,160);}};
#define zurück {while (encoder[LEFT]<=s1*3){MotorDir(RWD,RWD);MotorSpeed(160,160);}};
#define links {while (encoder[LEFT]<=cm90*3){MotorDir(FWD,FWD);MotorSpeed(0,160);}};
#define rechts {while (encoder[LEFT]<=cm90*3){MotorDir(FWD,FWD);MotorSpeed(160,0);}};
while (1)
{
for(i=0;i<10;i++)
{
PollSwitch();
}
t=PollSwitch();
Encoder_Init();
if (t>=1) {
zurück;
links;
vor;
rechts;
vor;
rechts;
vor;
} else {
MotorDir(FWD,FWD);
MotorSpeed (160,160);
}
}
return 0;
}
ich hab jetzt par sachen umgeschrieben, damit es kompakter aussieht.
Hm... und s1 und s2 sollte für die strecken zählen
werden die encoder werte beim nächsten encoder[LINKS] zurückgesetzt? wenn ja, dann hab ich meinen fehler gefunden
Lesezeichen