Asuro, bestimmte Zeit einstellen (z.b. beim Rückwärtsfahren)
Hallo zusammen.
Vorweg muss gesagt werden, dass ich ein absoluter Anfäger bin was programmieren angeht. Hab zwar schon einige kleinere Programme geschrieben aber jetzt steh ich vor einer größeren Herausforderung:
Wie schaffe ich es, dass mein Roboter nur z.b. eine halbe Sekunde rückwärts fährt, sich umdreht und dann vorwärts weiter fährt (Natürlich erst wenn er an einer Wand anstößt)
Vielleicht kann auch jemand mein Programm durchschaun, das zwar syntaktisch korrekt ist aber trotzdem nicht das macht was ich will =)
Speziell die Sache mit "for" erschließt sich mir nicht.
Code:
#include "asuro.h"
int main()
{
Init();
int i;
while(1)
{
if (PollSwitch()==0) /* Keine Kollision */
{
StatusLED(GREEN);
MotorDir(FWD,FWD);
MotorSpeed(155,155);
}
else if (PollSwitch()==1) /* Taster rechts-außen wird gedrückt */
{
StatusLED(RED);
MotorDir(RWD,RWD); /* Rückwärtskurve rechts*/
MotorSpeed(100,20);
for (i=0; i<250;i++)
{Sleep(216);}
MotorDir(FWD,FWD); /* Vorwärtskurve links*/
MotorSpeed(20,100);
for (i=0; i<250;i++)
{Sleep(216);}
}
else if (PollSwitch()>31) /* Taster Links-außen wird gedrückt */
{
StatusLED(YELLOW);
MotorDir(RWD,RWD); /* Rückwärtskurve links */
MotorSpeed(20,100);
for (i=0; i<250;i++)
{Sleep(216);}
MotorDir(FWD,FWD); /* Vorwärtskurve rechts */
MotorSpeed(100,20);
for (i=0; i<250;i++)
{Sleep(216);}
}
else /* Andere Taster werden gedrückt */
{
BackLED(ON,ON);
MotorDir(RWD,RWD); /* Rückwärts fahren */
MotorSpeed(100,100);
for (i=0; i<250;i++)
{Sleep(216);}
MotorDir(RWD,FWD); /* Drehung gegen UZS */
MotorSpeed(100,100);
for (i=0; i<250;i++)
{Sleep(216);}
}
}
return 0;
}
Seid nicht zu streng mit mir ;)
lg Ollowain