Rotary potentiometer with steps/positions

lemming:
These rotary encoders also embody a select switch by pressing down on the knob. (appologies for being a Sparkfun tart yet again).

Rotary Encoder - COM-09117 - SparkFun Electronics

However, having programmed a few of these menu systems using various rotary encoders (use a four line LCD for clarity of the scrolling menus in the users mind rather than the two line) I find that these type of units have fairly fine dentents (or 'dents'). It can make it easy to overshoot.

The cheap mechanical encoders suffer from pretty bad contact bounce and detent positioning that doesn't always seem to line up with the electrical signal transition positions. They can be made to work with lots of software fussing, but optical or magnetic encoders are a whole lot easier to live with.

One of those clunky rotary switches (with resistors soldered between the tabs) will have a more positive feel and selection. A seperate pushbutton will be required for selection.

Regarding the pots.... I think you would have to account for hysterisis in your code as there is not the demarcation of clicks between the various states.

By reading a 10 bit pot value and shifting the results right allows a much lower number of possible count possibilities, the problem of hysteresis or small count variations becomes a non problem. It's all about how many different values do you need from the pot as a ratio of 1023 possibilities. If you need only two value possibilities you shift the analogRead() results 9 bits right and the pot can only be seen as returning a 1 or 0 value, with the actual change being done at the 50% pot travel position.
Lefty