-
Rotate tut nicht
Hallo Leute!
Ich habe den Robby RRP6 erst ganz kurz und schon mein erstes, ganz einfaches Programm hat einen Fehler den ich nicht finden kann:
Code:
/*
* File: rumfahren.c
* Author: janlukas
*
* Created on 10. August 2008, 10:01
*/
#include "RP6RobotBaseLib.h"
/*Soll den Roboter im Raum rumfahren
*und zurücksetzen
*und drehen lassen sobald er gegen etwas dagegen fährt dann weiter.
*/
int main(void)
{
initRobotBase();
mSleep(1000);
setLEDs(0b111111);
mSleep(1000);
setLEDs(0b000000);
powerON();
while (true)
{
task_Bumpers();
if (bumper_right)
{
move(50, BWD, DIST_MM(150), BLOCKING);
rotate(40, LEFT, 90, BLOCKING);
/*
task_motionControl();
task_ADC();
*/
}
if (bumper_left)
{
move(50, BWD, DIST_MM(150), BLOCKING);
rotate(40, RIGHT, 90, BLOCKING);
/*
task_motionControl();
task_ADC();
*/
}
moveAtSpeed(70, 70);
task_motionControl();
task_ADC();
}
return 0;
}
Der Roboter beginnt nachdem er geblinkt hat auch zu fahren und setzt züruck nachdem der bumper gedrückt wurde, dreht dann 90 Grad und stoppt kurz, dreht dann aber immer weiter. ](*,) ](*,)
-
hi luki,
also zuerst verwende der übersicht halber doch bitte [code]-Tags um den code herum und nicht dann für deinen text ^^
dann zum problem:
ich selber sehe jetz grad kein problem, könnt aber sein dass ich wie schön öfters mal wieder blind bin...
was genau macht dein RP6 denn bei dem Code?
MfG Pr0gm4n
-
Hallo,
Du musst vor
moveAtSpeed(70, 70);
noch ein changeDirection(FWD); einfügen, sonst wird die Drehrichtung von rotate beibehalten!
Das kann aber auch beides in die If Abfragen direkt nach rotate rein - das braucht man nicht ständig hintereinander aufrufen ;)
MfG,
SlyD
-
THX, war wohl auch blind! O:)