а как вы отличите полезный сигнал от дребезга? Если на первом высокий уровень, на втором тоже высокий но от дребезга, то по условию, что на втором в предыдущей итерации был 0 надо засчитывать движение в одну из сторон. Алгоритм получается абсолютно такой же, только момент засчитывание такта сместиться на четверть периода вперед.