hallo, gerade ein einfaches programm zum verstehen der blockierenden funktionen geschrieben. der roboter soll beim fahren mit hilfe dem acs und den bumpern hindernissen ausweichen. nur leider tut er das nicht mehr, nachdem einer der bumper gedrückt wird.
wer kann mir sagen was ich an dem programm verändern muss?
(dürfte ja an den move bzw. rotate funktionen liegen)
danke schon mal im vorausCode:#include "RP6RobotBaseLib.h" void acsStateChanged(void) {if(obstacle_left) {writeString_P("Hindernis links\n"); moveAtSpeed(100,60);} else if(obstacle_right) {writeString_P("Hindernis rechts\n"); moveAtSpeed(60,100);} else {moveAtSpeed(80,80);} } void bumpersStateChanged(void) {if(bumper_left) {move(50,BWD,DIST_MM(150),true); rotate(50,RIGHT,90,false); } if(bumper_right) {move(50,BWD,DIST_MM(150),true); rotate(50,RIGHT,90,false); } } int main(void) {initRobotBase(); ACS_setStateChangedHandler(acsStateChanged); powerON(); setACSPwrMed(); BUMPERS_setStateChangedHandler(bumpersStateChanged); while(true) { task_ACS(); task_Bumpers(); task_RP6System(); } return 0; }
mfg







Zitieren

Lesezeichen