honighamster
12.01.2009, 16:48
Hallo,
ich habe meinen Robby RP6 am Freitag gekauft und habe jetzt mein 2. Programm geschrieben:
#include "RP6RobotBaseLib.h"
#define M 60
#define T 50
void acsStateChanged(void)
{
if(obstacle_left)
{moveAtSpeed(M,0);}
if(obstacle_right)
{moveAtSpeed(0,M);}
if(obstacle_right && obstacle_left && bumper_left && bumper_right)
{move(M,BWD,DIST_MM(50),BLOCKING);
rotate(T,RIGHT,180,BLOCKING);}
changeDirection(FWD);}
void bumpersStateChanged(void)
{if(bumper_left)
{moveAtSpeed(M,0);}
if(bumper_right)
{moveAtSpeed(0,M);}}
int main(void)
{
initRobotBase();
setLEDs(0b111111);
BUMPERS_setStateChangedHandler(bumpersStateChanged );
ACS_setStateChangedHandler(acsStateChanged);
powerON();
setACSPwrMed();
while(true)
{
moveAtSpeed(M,M);
task_RP6System();
}
return 0;}
Der Roboter sollte also eine Geschwindigkeit von (50,50) haben und auf Bumper sowie ACS reagieren.
Leider fährt er nur gerade aus.
Kann mir jemand helfen?
Danke im vorraus
Grüße honighamster
ich habe meinen Robby RP6 am Freitag gekauft und habe jetzt mein 2. Programm geschrieben:
#include "RP6RobotBaseLib.h"
#define M 60
#define T 50
void acsStateChanged(void)
{
if(obstacle_left)
{moveAtSpeed(M,0);}
if(obstacle_right)
{moveAtSpeed(0,M);}
if(obstacle_right && obstacle_left && bumper_left && bumper_right)
{move(M,BWD,DIST_MM(50),BLOCKING);
rotate(T,RIGHT,180,BLOCKING);}
changeDirection(FWD);}
void bumpersStateChanged(void)
{if(bumper_left)
{moveAtSpeed(M,0);}
if(bumper_right)
{moveAtSpeed(0,M);}}
int main(void)
{
initRobotBase();
setLEDs(0b111111);
BUMPERS_setStateChangedHandler(bumpersStateChanged );
ACS_setStateChangedHandler(acsStateChanged);
powerON();
setACSPwrMed();
while(true)
{
moveAtSpeed(M,M);
task_RP6System();
}
return 0;}
Der Roboter sollte also eine Geschwindigkeit von (50,50) haben und auf Bumper sowie ACS reagieren.
Leider fährt er nur gerade aus.
Kann mir jemand helfen?
Danke im vorraus
Grüße honighamster