hier ist der IR Sensor code
Code:
#define __AVR_ATmega88__

#include <avr/io.h>
//#include <iom88.h>

long i;


#define STATSLED0_ON  (PORTC |= 1<<PC0)
#define STATSLED0_OFF (PORTC &= ~(1<<PC0))
#define STATSLED1_ON  (PORTC |= 1<<PC1)
#define STATSLED1_OFF (PORTC &= ~(1<<PC1))

#define GET_IRSEN_RIGHT (PIND & 1<<PD4)
#define GET_IRSEN_LEFT  (PIND & 1<<PD3)


void turnLEFTforward(){

	// Motor 1 stop
	PORTD |= 1<<PD6;
	PORTD |= 1<<PD7;
	// Motor 2 Forward
	PORTB |= 1<<PB2;
	PORTB &= ~(1<<PB1);

}

void turnRIGHTforward(){

	// Motor 1 Forward
	PORTD |= 1<<PD6;
	PORTD &= ~(1<<PD7);
	// Motor 2 stop
	PORTB |= 1<<PB2;
	PORTB |= 1<<PB1;

}


int main(){

	DDRD = 1<<PD6 | 1<<PD7;			// PD6 PD7 Output Motor1;
	DDRB = 1<<PB1 | 1<<PB2;			// PB1 PB2 Output Motor2;


	DDRD &= ~(1<<PD3 | 1<<PD4);		// PD3 PD4 Input IR Sensors;
	
	DDRC = 1<<PC0 | 1<<PC1;			// PC0 PC1 Output STATSLED0 & 1;

	

	//PORTD &= ~(1<<PD6);
	//PORTD &= ~(1<<PD7);

	
	// (!)= schwarz & () = weiss

	// GET_IRSEN_RIGHT = STATSLED1
	// GET_IRSEN_LEFT  = STATSLED0




	while(1){
	    	if(! GET_IRSEN_LEFT && ! GET_IRSEN_RIGHT){
		    turnRIGHTforward();
			STATSLED0_OFF;
			STATSLED1_OFF;
        	}

		else if( ! GET_IRSEN_LEFT && GET_IRSEN_RIGHT){
			turnRIGHTforward();
			STATSLED0_OFF;
			STATSLED1_ON;
			}
			 
		else if( GET_IRSEN_LEFT && ! GET_IRSEN_RIGHT){
			turnLEFTforward();
			STATSLED0_ON;
			STATSLED1_OFF;
			} 

		else if( GET_IRSEN_LEFT && GET_IRSEN_RIGHT){
			turnLEFTforward();
			STATSLED0_ON;
			STATSLED1_ON;
			} 


//PORTC = 1<<PC5;
	
//PORTC = 0<<PC5;	
		

	}
}