Hallo

Mit zwei Servos könnte es etwa so funktionieren:
Code:
void bumpersStateChanged(void)
{
	DDRA |= (E_INT1);            // PA4 (IT1) als Ausgang definieren
   DDRC |= (SCL | SDA);         // PC0, PC1 als Ausgänge definieren
   uint8_t i;                 // Variable i
   uint8_t a;                 // Variable a
   uint8_t c;                 // Variable c
   //PORTA |= E_INT1;

	if(bumper_left)
   {
   	for(a=0; a<5; a++)
   	{
    		for(i=0; i<70; i++)
      	{
     			PORTA |= E_INT1;           // Impuls Servo 1 an
      		sleep(7);
      		PORTA &= ~E_INT1;         	// Impuls Servo 1 aus

      		PORTC |= SCL;         		// Impuls Servo 2 an (Position 23 halten)
      		sleep(23);
      		PORTC &= ~SCL;         		// Impuls Servo 2 aus
     			mSleep(15);
      	}

    		for(c=0; c<70; c++)
      	{
     			PORTA |= E_INT1;        	// Impuls Servo 1 an
      		sleep(15);
      		PORTA &= ~E_INT1;         	// Impuls Servo 1 aus

      		PORTC |= SCL;         		// Impuls Servo 2 an (Position 23 halten)
      		sleep(23);
      		PORTC &= ~SCL;         		// Impuls Servo 2 aus
     			mSleep(15);
      	}
      	for(i=0; i<70; i++)
      	{
     			PORTA |= E_INT1;         	// Impuls Servo 1 an
      		sleep(23);
      		PORTA &= ~E_INT1;         	// Impuls Servo 1 aus

      		PORTC |= SCL;         		// Impuls Servo 2 an (Position 23 halten)
      		sleep(23);
      		PORTC &= ~SCL;         		// Impuls Servo 2 aus
     			mSleep(15);
      	}
		}
	}
   else
   {
   	for(a=0; a<5; a++)
      {
    		for(i=0; i<70; i++)
      	{
     			PORTC |= SCL;           	// Impuls Servo 2 an
      		sleep(7);
      		PORTC &= ~SCL;         		// Impuls Servo 2 aus

     			PORTA |= E_INT1;         	// Impuls Servo 1 an (Position 23 halten)
      		sleep(23);
      		PORTA &= ~E_INT1;         	// Impuls Servo 1 aus
     			mSleep(15);
      	}
    		for(c=0; c<70; c++)
      	{
     			PORTC |= SCL;         		// Impuls Servo 2 an
      		sleep(15);
      		PORTC &= ~SCL;         		// Impuls Servo 2 aus

     			PORTA |= E_INT1;         	// Impuls Servo 1 an (Position 23 halten)
      		sleep(23);
      		PORTA &= ~E_INT1;         	// Impuls Servo 1 aus
     			mSleep(15);
      	}
      	for(i=0; i<70; i++)
      	{
     			PORTC |= SCL;         		// Impuls Servo 2 an
      		sleep(23);
      		PORTC &= ~SCL;         		// Impuls Servo 2 aus

     			PORTA |= E_INT1;         	// Impuls Servo 1 an (Position 23 halten)
      		sleep(23);
      		PORTA &= ~E_INT1;         	// Impuls Servo 1 aus
     			mSleep(15);
      	}
	   }
	}
	
   if(bumper_right) // ???
   {
      PORTC |= SDA;            // PC1 high
      mSleep(2000);
      PORTC &= ~SDA;            // PC1 lo
   }

}
Allerdings werden die Servos nur angesteuert, wenn ein Bumper betätigt wird. Und während sich die Servos bewegen ist das gesamte restliche System blockiert. Langfristig wirst du wohl auf eine interruptgesteuerte Servoansteuerung umsteigen müssen. Anregungen dazu findest du z.b. hier:

https://www.roboternetz.de/phpBB2/viewtopic.php?t=34407

Gruß

mic