Hallo,

habe eine kleines Programm geschrieben um mich mal langsam einzuarbeiten. Habe ein Bumper Programm geschrieben, erst sollten nur je nach gedürckten Bumder die StatusLED's aufleuchten. Das hat auch prima funktioniert

Also wollte ich ein kleines Kollisionsprogramm beginnen, erstmal nur mit dem linken Bumper. Betätige ich den linken Bumper, gehen zwar die StatusLED's an aber der RP6 hält nicht wie gewollt an. Er fährt die 1,5 Sekunden vorwärts und fährt dann gleich Rückwärts.

Wo habe ich da einen Denkfehler?

Code:
#include "RP6RobotBaseLib.h"                            //bindet die RP6RobotBaseLib.h ein

int main (void){ 
    initRobotBase();                                        //initialsiert den Robby
    powerON();                                             //aktiviert die Encoder usw.
    while(1){
        task_Bumpers();                                    //fragt alle 50ms die Bumper ab und speichert den Wert in "bumper_left" und "bumper_right"
        if(bumper_left != false){                           //wenn linker bumper betätigt...
            setLEDs(0b111000);                           //schalte SL4, SL5 und SL6 ein
            moveAtSpeed(0,0);                            //Stop
            mSleep(1500);                                 //1,5 Sekunden warten
            move(60,BWD,DIST_MM(300),BLOCKING);  //fahre 30cm Rückwärts
            mSleep(800);                                  //... für 0,8 Sekunden
            rotate(60,RIGHT,180,BLOCKING);           //um 180° nach Rechts drehen
        }
        else{
           setLEDs(0b000000);                           //schalte alle LEDs aus
            changeDirection(FWD);                       //Motor Drehrichtung auf Vorwärts setzen
            moveAtSpeed(80,80);                        //Fahre Vorwärts bis Bumper gedrückt wird
        }
        task_RP6System();                               //fragt immer wieder die Encoder usw. ab
    }
    return 0;
}
MfG

Ezalo