Und mit was für einer Frequenz arbeiten die analogen Eingänge eines AtMega?
Der AD-Wandler eines Atmega32 kann bis zu 1Mhz interner Clock vertragen,
schafft dabei eine Bandbreite von maximal 38,5kSamples/sec (Seite 291). Reicht gerade
eben nicht Bei voller Auflösung sind es nur 15kSamples/sec (Seite 199)
Diese Geschwindigkeit schafft er aber nur, wenn er ununterbrochen
Werte ausliest. Zwischendurch z.B. eine Millisekunde warten macht die
Sache schon wieder unbrauchbar.

allerdings ist das Blinken bestimmt nicht da um den Ball von der Umgebung zu unterscheiden(ist nämlich bei so einer hohen Frequenz absolut unmöglich)
Klar wird der Ball auch optische Reflektionen an Bande usw hervorrufen,
dennoch kann man ihn von der Umgebung unterscheiden.
Man darf eben nicht die durchschnittliche Helligkeit (bei alten Sensoren),
sondern wirklich nur das Blinken auswerten.
Bei 40kHz wird es natürlich schon kritischer mit Ansprechzeit der Sensoren
sowie Auswertung, deswegen frage ich ja, wie ihr das realisieren würdet.
Nebenbei spart der Ball natürlich schon Strom (früher ca 200mA, nun 80mA
benötigt).

Wieso soll hat euer Programm nur 10Hz Durchlaufgeschwindigkeit ? Das
wären 100ms/Schleifendurchlauf. Wieso so zeit/rechenintensiv ?

@skg-rob: Für Einsteiger ist ein gepulster Ball in Version A wahrscheinlich zu viel verlangt. Ich vermute mal, dass er nur in B verwendet wird.

Bernhard