"Любі друзі"! Если вы уже так глубоко зашли в идее с фотоэлементами, предлагаю обратить внимание на такое понятие, как "Оптический датчик угла поворота" или "Абсолютный энкодер".
Суть и принцип действия изложены здесь
http://www.skbis.ru/index.php?p=16
Для нашего случая будет достаточно 8 колец с данными (просечками), коим образом мы получим 256 уникальных значений.
Одна особенность - не получится отделаться 1 оптопарой. Как минимум нужен один излучатель и 8 приемников, а лучше 8 излучателей и 8 приемников, так как в случае с одним излучателем - будут проблемы с поляризацией света, а соответственно будут погрешности и ложные срабатывания (неверные показания).
Так можно будет избежать проблем с разбросом печати на разных принтерах самого градиента, и не важна плавность перехода...
Если иметь 8 оптопар, можно использовать полностью непрозрачный диск с обычными отверстиями, сделанными дрелью.
Основная сложность - обыграть случай, когда двигатель заглушен и включено зажигание, но это уже другая история, относящаяся уже к схемотехническим решениям, и думаю, что здесь есть люди, способные решить ее лучше меня.