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 ?
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;
}
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:
if(getBumperLeft() && getBumperRight())
{
move(70, BWD, DIST_MM(300), true);
drehen();
}
Hier hätte ich lieber das er eine sec rückwärts fährt, und keine Strecke.
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
Lesezeichen