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?
MfGCode:#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; }
Ezalo







Zitieren
Lesezeichen