Erstmal danke für eure Antworten, das hat mir schon etwas auf die Beine geholfen und ich hab mein erstes selbstgeschriebenes Programm entwickelt...es funktioniert nur leider nicht so ganz, welch Überraschung!
Code:
#include "asuro.h"
int main(void)
{
int x; // Motorgeschwindigkeit links //
int y; // Motorgeschwindigkeit rechts //
int l;
int r;
int i;
x = 150;
y = 150;
Init();
unsigned int data[2];
// Anfangsmitteilungen //
SerWrite("\n\r VORWAERTS MEIN KAISER! \n\r",33);
SerWrite("\n\r Volle Kraft Voraus! \n\r",29);
SerWrite("\n\r Mit Synchronisation! \n\r",30);
// Gerade aus fahren //
while(1)
{
if(PollSwitch()==0)
{
OdometrieData(data);
BackLED(OFF,OFF);
FrontLED(ON);
StatusLED(GREEN);
MotorDir(FWD,FWD);
MotorSpeed(x+l,y+r);
}
if(data[0]<data[1])
{l = 50;}
if(data[0]>data[1])
{r = 50;}
if(data[0]==data[1])
{r = 0;}
if(data[0] >= 1023)
{
data[0] = 0;
data[1] = 0;
}
if(PollSwitch()==32)
{
for(i=0; i<200; i++) Sleep(72);
{
MotorDir(FWD,RWD);
MotorSpeed(170,200);
BackLED(ON,ON);
StatusLED(YELLOW);
FrontLED(OFF);
}
}
if(PollSwitch()==1)
{
for(i=0; i<200; i++) Sleep(72);
{
MotorDir(RWD,FWD);
MotorSpeed(200,170);
BackLED(ON,ON);
StatusLED(YELLOW);
FrontLED(OFF);
}
}
if(PollSwitch()==18)
{
for(i=0; i<300; i++) Sleep(72);
{
MotorDir(FWD,RWD);
MotorSpeed(170,200);
BackLED(ON,ON);
StatusLED(YELLOW);
FrontLED(OFF);
}
}
if(PollSwitch()==12)
{
for(i=0; i<300; i++) Sleep(72);
{
MotorDir(FWD,RWD);
MotorSpeed(170,200);
BackLED(ON,ON);
StatusLED(YELLOW);
FrontLED(OFF);
}
}
if(PollSwitch()==6)
{
for(i=0; i<350; i++) Sleep(72);
{
MotorDir(FWD,RWD);
MotorSpeed(170,200);
BackLED(ON,ON);
StatusLED(YELLOW);
FrontLED(OFF);
}
}
if(PollSwitch()==2)
{
for(i=0; i<200; i++) Sleep(72);
{
MotorDir(FWD,RWD);
MotorSpeed(170,200);
BackLED(ON,ON);
StatusLED(YELLOW);
FrontLED(OFF);
}
}
if(PollSwitch()==16)
{
for(i=0; i<200; i++) Sleep(72);
{
MotorDir(RWD,FWD);
MotorSpeed(200,170);
BackLED(ON,ON);
StatusLED(YELLOW);
FrontLED(OFF);
}
}
}
return (0);
}
Der Asuro soll also gerade aus fahren, solange keine Taste gedrückt ist, und zwar wirklich GERADE aus! Allerdings gibts da noch Probleme mit der OdometrieData und damit, das ich nicht raffe wie ich sie "zurücksetzen" kann, das was ich da zusammengeschustert habte funzt nich so wirklich glaube ich...
Dann hab ich noch die Grundroutinen fürs Ausweichen bei Kollisionen reingemacht, funktioniert beim K1 z.b. wunderbar, bei K6 allerdings hängt sich der Asuro auf - hilfe?
Wär sehr dankbar wenn sich jemand meinen Code mal durchlesen könnte und mir ein paar Tipps gibt!
Grüße
Lesezeichen