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