Hi, AlexJ,
Zitat Zitat von AlexJ
... Einmal via Interrupt(versteh ich) und die 2. Möglichkeit war (irgendwie), dass der die Ausgabe(HIGH und LOW?) des Sensors von der Hardware mit einem Timer (oder so) hochgezählt wird und man das dann irgendwie anders macht.
Ich hab aktuell eine Lösung, mit der ich direkt am Motor, vor dem Getriebe, mit einer Lichtschranke messe. Als Lichtschranke verwende ich ein Miniaturding, die Sharp GP1S096HCZ, weil ich nur recht beschränkt Platz habe. Die Hardware habe ich hier vorgestellt. Damit bekomme ich gute, deutliche Signale bei jeder Unterbrechung der Lichtschranke. Die Signale der beiden Motoren führe ich bei meinem mega168 an den INT0 und INT1 (bei Deinem mega32 wären das Pin16 und Pin17, bzw. PD2 und PD3) und zähle in der Interruptroutine meinen internen Zeittakt von 50 µs. Das gibt mir die Dauer zwischen zwei steigenden Flanken. Den Code könnt ich Dir ja posten. Der läuft auf dem mega168. Den müsstest Du selbst für den m32 umstricken (Registerinitialisierung des Timers etc).

Dies ist allerdings keine Version mit einer Reflexlichtschranke, die Du wohl geplant hast. Diese Version mit Reflexlichtschranke hatte ich nie getestet - hab also auch keine Ahnung davon.