So, ich hab mal n paar mins hier dran rumgebastelt:

Code:
#include "RP6RobotBaseLib.h" //Code by Pr0gm4n© v1.0 Fahrtenregler/Servos an ADC0 und ADC1

void vorwaerts(int geschwindigkeit, int zeit)//geschwindigkeit zwischen 0 und 5, bei 0 = stillstand; zeit in ms
{
     if(geschwindigkeit > 5)geschwindigkeit = 5;
     if(geschwindigkeit < 0)geschwindigkeit = 0;
     int x = 15+geschwindigkeit;
     int i;
     for(i=0;i<(zeit/20);i++)
     {
            PORTA |= 1; 
            sleep(x); 
            PORTA &= ~1; 
            PORTA |= 2; 
            sleep(30-x); 
            PORTA &= ~2; 
            sleep(170);
     }
}

void rueckwaerts(int geschwindigkeit, int zeit)//geschwindigkeit zwischen 1 und 5; zeit in ms
{
     if(geschwindigkeit > 5)geschwindigkeit = 5;
     if(geschwindigkeit < 1)geschwindigkeit = 1;
     int x = 15-geschwindigkeit;
     int i;
     for(i=0;i<(zeit/20);i++)
     {
            PORTA |= 1; 
            sleep(x); 
            PORTA &= ~1; 
            PORTA |= 2; 
            sleep(30-x); 
            PORTA &= ~2; 
            sleep(170);
     }
}

void initMotoren()
{
     DDRA |=3;
}


int main(void) 
{ 
   initRobotBase(); 
   initMotoren();

   while(true) 
   { 
     vorwaerts(2, 1000);
     vorwaerts(0, 100);
     rueckwaerts(2, 1000);
     vorwaerts(0, 100);
   } 
   return(0); 
}
alles was in der while-schleife ist darfst du verändern, da kannst du auch einstellen dass er andre sachen machen soll...

für links- / rechtskurven solltest du lieber erstmal versuchen den code wirklich zu verstehen, erst dann kannst du dich an sowas wagen....

es wird dir dann zwar recht leicht fallen aber dennoch solltest du das hier erstmal verstehen...

man könnte auch eine funktion schreiben die nur den einen motor vor-/rückwärts fahren lässt, damit kann man auch direkt drehen...

LG Pr0gm4n

EDIT: ÄÄh dirk, warum hast du 2x gepostet?

EDIT2: https://www.roboternetz.de/phpBB2/vi...=430502#430502 bitte nich vergessen xD (den beitrag von mir, v.a. radbruch)