Hm, irgendwie geht es jetzt wieder. Sehr sehr komisch. aber ich habe einen neuen Fehler. hab den folgenden code:

while(1)
{

ir=PIND & (1 << PD0);

if (ir || ir1 || ir2 || ir3 || ir4) // ALLES OK
{
FrontLED(OFF);
BackLED(OFF,OFF);
MotorDir(FWD,FWD);
//MotorSpeed(speed,speed);
}
else // HINDERNIS!!!!!!!!!!!!!!
{
BackLED(ON,ON);
FrontLED(ON);
.
.
.

nun gehen sowohl die BackLED's, als auch die FrontLED in diesem Fall nur an, falls in unmittelbarer nähe ein Hindernis auftaucht. Wenn ich MotorSpeed nun aber wieder als Befehl nehme, sprich die Motoren anschmeiße, dann leuchten die LED's permanent. Es wird also immerzu ein Hindernis erkannt, auch wenn weit und breit keins in seiner Richtung ist