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
Lesezeichen