before all compliment for your project!!!
I have simulated it with proteus and works but i can not understand a thing
why when i push direction pos : 0.000 became 0.***?
Sorry but my english it is very poor
regards
Gianluca