Ich habe mich jetzt an folgendem Ablauf versucht:
Der Asuro soll einen Fixen Abstand zu einem Gegenstand einhalten, egal ob wie der Gegenstand sich bewegt. Wenn der GST sich wegbewegt, soll der Asuro folgen, wenn der GST näherkommt, soll der Asuro zurückweichen. Wie ein Hund, der einen Einbrecher gestellt hat 
Nur läuft es nicht so, wie ich's gerne hätte:
Code:
/*************************************************************************
Hauptprogramm
*************************************************************************/
int main(void)
{
uint8_t n,m,diff;
Init();
FrontLED(ON);
while(1)
{
n=abstand_rechts();
m=abstand_links();
if ((n > 2) && (m > 2))
{
diff = m - n;
if(abs(diff) > 0)
{
MotorDir(FWD, FWD);
MotorSpeed(255,155);
}
if (abs(diff) < 0)
{
MotorDir(FWD, FWD);
MotorSpeed(155,255);
}
}
else if ((n < 2) && (m < 2))
{
diff = m - n;
if(abs(diff) > 0)
{
MotorDir(RWD, RWD);
MotorSpeed(155,255);
}
if (abs(diff) < 0)
{
MotorDir(RWD, RWD);
MotorSpeed(255,155);
}
}
else
MotorSpeed(BREAK, BREAK);
}
}
Wo ist mein Denkfehler?
Lesezeichen