Hallo

Ich habe in meinem Fußballroboter die SFH 309 FA Fototransistoren eingesetzt um den Ball zu finden (beim Robocup Junior sendet der Ball IR-Strahlung aus). Bis jetzt hatte ich die Fototransistoren so angeschlossen, dass der Emitter an GND ist und der Kollektor direkt am ADC Pin ist. Dann hatte ich intern die Pullup Widerstände angeschaltet. Dadurch habe ich dann Werte von 40 (Ball sehr nahe) bis 800 (Ball weit weg) erhalten. (der ADC hat eine Auflösung von 10bit). Allerdings sind die Werte überhaupt nicht linear sondern in etwa 0-30cm am Roboter ändert sich der Wert von 40-750 und ändert sich ab dann nur noch geringfügig. (siehe Bild, hängt natürlich auch davon ab, wie voll die Batterien im Ball sind)

Bild hier  

Dadurch wird es dann allerdings schwierig weit entfernte Bälle zu erkennen (vor allem durch andere Wärmequellen, die die Sensoren beeinflussen).
Im Internet hab ich jetzt eine Schaltung für einen IR-Sensor mit einem Operationsverstärker gefunden (IR Sensor, dieser ist für den Lego RCX ausgelegt).
Könntet ihr mir erklären, was der genau macht, wie ich den an einem ATMega benutzen könnte und was für einen Einfluss die Widerstände und Kondensatoren haben? (R1-R4, C2?) Kann ich den Gleichrichter, C1 und die beiden Dioden weglassen, weil ich den Operationsverstärker ja immer mit Strom versorgen kann und den Ausgangspin direkt an den ADC Pin von meinem ATMega anschließen?
Sorry, für die vielen Fragen, aber ich hab von Elektronik noch nicht so den Plan und die Datenblätter helfen mir da momentan auch noch nicht so richtig. (Fototransistor)

Bringt die Schaltung mit dem Operationsverstärker überhaupt etwas, da ich ja durchaus einen großen Wertebereich hab nur eben überhaupt nicht linear?