Actually, it moves to the position that the simulator tells; that was easy to program.
But then, in real life, you can interrupt the movement (that's why there's a clutch) and manually move it wherever you want.
As soon as you input a little bit it should stop moving, like a window of a car that stops when it detects a hand; is there any "easy" method created? Do I have to read changes in movement speed of the potentiometer or is there an easier way?
How does your program control the motor? If it is some sort of servo-PID-PPM control, perhaps your control is attempting unusually large PPM values to force motion, and you can use them to detect and adjust to the user's intervention, such as
if (abs(output) > 200) setpoint = measured;
However, any useful speculations along those lines would depend on your code.
Well, with "input" I meant when you apply a little bit of force.
The potentiometer is sepparated by a clutch, so the motor can be spinning and the potentiometer stopped. There I have a clear difference, but the speed is not always the same, as soon as it gets to the target position, the lower RPM it goes.
I control it via PWM, from 0 to 255, then the DC controller converts that.
I guess the only way I can find is given a period of time, check the difference in position, and also check the PWM value i'm sending this period, and compare, but that might not be fast enough, or it might not be the best way, or it could get stuck some times even if I give it a margin.
I wanted to know if there's kind of a standard way to do so.
It is unclear what you are measuring. From your description it could be that potentiometer position is based on a spring and clutch dragging against a motor spinning at different RPM, like an old car's speedometer cable spinning a magnet within a spring-drum-dial.
How does your code know the motor gets to the target position and then reduce the PWM for "the lower RPM it goes"? Does it stop when it gets to target? Or just drag the clutch at low RPM?