#define CenterLegSensor IN_1 #define RightLegSensor IN_2 #define LeftLegSensor IN_3 #define RightLegMotor OUT_A #define LeftLegMotor OUT_B #define CenterLegMotor OUT_C #define MINSPEED 25 #define MOVELEGS 120 int counter, tachoReading, rightLegPos, leftLegPos; // Move left legs sub reverseLeft { if(leftLegPos==0) { Fwd(LeftLegMotor,OUT_FULL); wait(LeftLegSensor==1); ClearTachoCounter(LeftLegMotor); do tachoReading = TachoCount(LeftLegMotor); while(tachoReadingMINSPEED); Off(LeftLegMotor); leftLegPos=0; liftRight(); // Init right legs Rev(RightLegMotor,1); Sleep(15); // Run the motor until the legs hits something do tachoReading = TachoSpeed(RightLegMotor); while(tachoReading>MINSPEED); Off(RightLegMotor); rightLegPos=0; // Walk! while(true) { reverseRight(); reverseLeft(); liftLeft(); reverseLeft(); reverseRight(); liftRight(); } }