Hi und Danke für deine Erklärung da ich mich neu in Arduino einarbeite bin ich für jede Hilfe dankbar und habe großes Interesse zu deinem Sketch.

- - - Aktualisiert - - -

Das ist jetzt mal eine Version, allerdings läuft sie noch nicht bin wohl noch ein wenig eingerostet. Kann mir einer helfen die Fehler aus zu bügeln
Code:
// 14-19
//Sensoren
const int V_LINKS = 14;
const int V_MITTE = 15;
const int V_RECHTS = 16;
const int H_LINKS = 17;;
const int H_MITTE = 18;;
const int H_RECHTS = 19;
//Motoren
const int LINKS = 6;
const int RECHTS = 5;
const int VOR = 4;
const int ZURUECK = 2;
const int PWM = 3;

int pwm 127;


void setup() {
  // put your setup code here, to run once:

pinMode(V_LINKS, INPUT);
pinMode(V_MITTE, INPUT);
pinMode(V_RECHTS, INPUT);
pinMode(H_LINKS, INPUT);
pinMode(H_MITTE, INPUT);
pinMode(H_RECHTS, INPUT);

pinMode(LINKS, OUTPUT);
pinMode(RECHTS, OUTPUT);
pinMode(VOR, OUTPUT);
pinMode(ZURUECK, OUTPUT);
pinMode(PWM, OUTPUT);

}

void loop() {
 
analogWrite(PWM, pwm);  




switch( digitalRead() )
     {
       
  case digitalRead(V_MITTE) : digitalWrite(ZURUECK, HIGH);
          
      break;

  case digitalRead(V_LINKS) : digitalWrite(ZURUECK, HIGH) | digitalWrite(RECHTS, HIGH)  ;
           

      break;

  case digitalRead(V_RECHTS) : digitalWrite(ZURUECK, HIGH) | digitalWrite(LINKS, HIGH) ;
            

      break;

    case digitalRead(H_MITE) : digitalWrite(VOR, HIGH) ;
          
          
      break;

  case digitalRead(H_LINKS) : digitalWrite(VOR, HIGH) | digitalWrite(RECHTS, HIGH) ;
           
               
          
      break;

  case digitalRead(H_RECHTS) : digitalWrite(VOR, HIGH) | digitalWrite(LINKS, HIGH) ; 
              
          
      break;

  
  default  : digitalWrite(VOR, HIGH) | digitalWrite(ZURUECK, HIGH) ; 
        
   }


// put your main code here, to run repeatedly:

 
    delay(30);


}
und hier noch mein altes Programm das, wunderbar getan hat


Code:
//Motoren
#define VOR          0b00110100
#define ZURUECK     0b00101100
#define LINKS          0b00100110
#define RECHTS      0b00100101
#define GERADE      0b00100111
#define BREACK      0b00111111
#define PWM_DRIVE     0b00100000
#define PWM_LENKUNG    0b00000100
//Sensoren
#define V_MITE      0b00111101
#define V_LINKS      0b00111011
#define V_RECHTS      0b00111110
#define H_MITE      0b00101111
#define H_LINKS      0b00011111
#define H_RECHTS      0b00110111
//LED ROT, GREUN
#define LED_ROT      0b10000000
#define LED_GRUEN      0b01000000
#define LED_AUS     0b00000000
Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#include "Roboter.h"

/*
#define DURCHLEUFE 256

volatile unsigned int wert=0;

//Timer 0
ISR(TIMER0_OVF_vect)
{
wert++;
TCNT0 = 256 -DURCHLEUFE;
}
*/

int main(void)
{

/*TCNT0 = 256 -DURCHLEUFE;
TCCR0 = (1 << CS02)|(1 << CS00);
TIMSK = (1 << TOIE0);

sei();
*/
DDRB = 0xFF; //Ausgang, Motoren
DDRC = 0b11000000; //Eingang, Sensoren


while (1)
{
    

switch( PORTC )
     {
       
    case V_MITE : PORTB = ZURUECK ;
                  
            break;

    case V_LINKS : PORTB = ZURUECK | RECHTS  ;
                   

            break;

    case V_RECHTS : PORTB = ZURUECK | LINKS ;
                    

            break;

       case H_MITE : PORTB = VOR ;
                  
            
            break;

    case H_LINKS : PORTB = VOR | RECHTS ;
                   
                       
            
            break;

    case H_RECHTS : PORTB = VOR | LINKS ; 
                    
                    
            break;

    
    default  : PORTB = BREACK ;
               PORTB = LED_ROT ;
    
     }

}

return 0;
}