Mir fallen dazu 2 mögliche Usachen ein:
1. Bei den Experimenten herschen nicht immer die gleichen Bedingungen ( Abstand nicht gleich, Beleuchtungsverhältnisse nicht gleich )
2. Der IR-Empfänger hat eine AGC eingebaut ( AGC= automatic gain control, automatische Verstärkungsregelung ). Die Verstärkungsregelung passt sich mit der Zeit an die veränderten Lichtbedingungen an. Wenn man also zuerst ein Messung mit sehr hellem Licht durchführt, ist der Sensor bei einer darauffolgenden Messung mit sehr dunklem Licht quasi blind. Das ist so, wie wenn wir in die Sonne schauen und dann in einem dunklen Zimmer etwas sehen will. Unser Auge ist kurzzeitig unempfindlicher.

Was das Verhalten der Messung vielleicht ändern könnte:

PORTD |= (1 << PD1); // PD1 auf High

am Ende der Abstandsmessroutine setzen, um die Sendediode auszuschalten, damit die nächste Messung nicht beeinflußt wird.

Gruß,
robo