When I used to fly RC helicopter, I can adjust a "curve" on my radio transmitter that relates the motion of the control stick (transmitter) to the motion of the servo at the receiving end. This curve was displayed on a screen and allows user to tune the sensitivity of servo movement at various points. For example, for lower sensitivity, one would have to move the control stick quite a bit for only a little bit of servo movement. This is useful for tasks like hovering where you don't want to overcompensate. For acrobatics, the reverse is true, you want quick response to any input at the control stick.
I want to design a similar device using Arduino, a LCD screen, and a motor (either stepper or servo) for output (analogous to the servo on the RC heli), and some kind of input (analogous to the control stick on the transmitter). For the input, the user shall move a linear rack and pinion system, with the pinion hooked to a rotary encoder.
Ideally, the user can push the rack back and forth, which controls the corresponding linear movement at the output. The user should be able to adjust the movement curve on the screen. Furthermore, there should be multiple curves (or mode) that the user can switch back and forth. Any mode switch would be done only when the servo and the rack are at their initial position (or when the system is in a "mode change" mode).
The input and output are at the same device so we don't have to worry about wireless transmission of signals like that of a real RC application.
Can someone give me a rough overview of what I need and how this can be implemented? Thanks