Tambien puedes emplear un latch
Dejas el motor con el latch cargado a 1 (significaria ir adelante) hasta que sensor detecte que tiene que parar, con lo cual en ese momento por unos milisegundos dejaria de atender el sensor y cargaria un 0 en el latch.
Por ejemplo.
obviamente emplearia las interrupciones (atachinterrupt)