Hi,
ich habe es geschaft, hab nen bischen was geändert^^
Ein kleines Problem gibt es aber immer noch: wenn man die 2 Taster nicht exakt gleichzeitig drückt fährt er eine mischung aus drehen und rückwärts_links/rechts.... wie kann ich das verbessern ?
Ich habe bis jetzt aber immer noch keinen Befehl gefunden womit man z.b. gestimmen kann wie lang (Zeit) sich ein Motor dreht.... geht das nur mit "Stopwatch" ???Code:#include "RP6RobotBaseLib.h" void bumpersStateChanged(void) { if(getBumperLeft() && getBumperRight()) { move(70, BWD, DIST_MM(300), true); drehen(); } else if(getBumperLeft()) rueckwaerts_links(); else if(getBumperRight()) rueckwaerts_rechts(); } void drehen(void) { changeDirection(LEFT); startStopwatch1(); } void rueckwaerts_links(void) { changeDirection(BWD); moveAtSpeed(60,120); startStopwatch2(); } void rueckwaerts_rechts(void) { changeDirection(BWD); moveAtSpeed(120,60); startStopwatch3(); } void vorwaerts_pruefen (void) { if ((getStopwatch1() > 2000) || (getStopwatch2() > 2000) || (getStopwatch3() > 2000)) { changeDirection(FWD); moveAtSpeed(70,70); setStopwatch1(0); setStopwatch2(0); setStopwatch3(0); stopStopwatch1(); stopStopwatch2(); stopStopwatch3(); } } int main(void) { initRobotBase(); powerON(); moveAtSpeed(70,70); BUMPERS_setStateChangedHandler(bumpersStateChanged); while(true) { vorwaerts_pruefen(); task_RP6System(); } return 0; }
Hier hätte ich lieber das er eine sec rückwärts fährt, und keine Strecke.Code:if(getBumperLeft() && getBumperRight()) { move(70, BWD, DIST_MM(300), true); drehen(); }
danke für die Antwort ;D
Gruß Night989
EDIT:
ich hab jetzt ein licht-finden-programm geschrieben und das funktioniert auch. jetzt möchte ich in das programm das collisions-programm einfügen, damit er dem licht folgt und wenn er wo gegenstößt darauf reagiert.
müsste machbar sein oder ?
MFG







Zitieren

Lesezeichen