I want to make a midi control surface with touch-sensitive rotary encoders. The "rotary encoder with arduino" part has been covered in the playground, as well as the "capacitive sensing with arduino" part.
Now is the time for both all together !
I know some devices that use this kind of thing : Novation zero : they got plastic knobs over the endless rotary encoders, as far as i can tell Euphonix gear : don't know the famous Resonator Neuronium : gold-plated metal knobs over classic pots. A lucky friend of mine posseses one of those pricey beasts, maybe he will be ok if i open it and take a look :
Although you can get touch sensitive rotary encoders of the type used on the early iPod Nanos these require a special chip and PCB layout to implement.
However, continuous rotary encoders with a pulsed output are not touch sensitive.
It is a simple matter to count the pulses from them and convert then into MIDI CC messages. But MIDI output is restricted to values between 0 and 127 so there is not much of an advantage going for continuous rotation because you hit the virtual end stop soon enough.
The "Novation Zero" references touch sensitivity: "Touch sensitive controls bring up names on the LCD screen, as soon as you touch them."
Sounds like an interesting way to maximize LCD space with individual encoders.
Looks like a lot of audio equipment uses them, but I couldn't figure out what search terms to use with Mouser to find one. I imagine the "touch sensitive" controllers have an extra output that allows you to sense "touch."
The Neuronium page references touch sensitivity too in the page i linked : "The rotary knobs are touch-sensitive and allow the net ranking by a simple touch of the metal coated knobs."
For the euphonix gear (which i just discovered), i only found references in forums, but that's not my point.
iPod-style rotary sensor is not what im looking for, because you need to know what you're doing while you play music, and as every musician, you do not always look what you're doing if you know that you're doing it right : so all you need is a tactile feedback, eg a knob that you can grab and feel under your fingers.
Why are endless rotary encoders cool ? Because the control surface communicates with your computer, by midi or usb, in a way that if you move a pot on your control surface it makes a change on your computer. But what happens on the control surface if you move a parameter on your computer ? Nothing. So we need a feedback, mainly because we often use the same knob to do several things, depending on the context of use. So after establishing a feedback loop and for the computer and the control surface to stay synced, there are 2 solutions :
motorized pots : ;D expensive but cool
an endless encoder and a led ring around the pot telling you what is the actual value
(I told you i was planning to build a midi device to keep my question simple, but actually it could do OSC as well, which is not limited to numbers between 0 and 127, but basically between what you want and what you want )
That's why i'm really looking towards endless rotary encoders.
I want them to be touch-sensitive because i need to trig some functions just by touching the knobs and not having to turn them.
My friend agreed today to open his Neuronium so we can look inside for clues on how it's made.
I think we could maybe achieve touch-sensitive rotary encoders by trying to replace the aluminium foil (in the playground page) by the metal rod of the pot... That would be a good start. I'll keep you posted on that.
You may find that you need more "tactile feedback" than you can get from a capacitive control: as you mentioned, people aren't always looking at the controls as they use them. Capacitive switches make it easy for an accidental touch to trigger something, and make it hard to have the equivalent of "home" keys on a a typewriter keyboard.
Sparkfun sells those "film" pots that are similar to a touchscreen, and actually require a little pressure to activate. They may be better for your purposes.
Why do I really need touch-sensitive endless rotary encoders :
i really like endless encoders.
i want to be able to select one of them just by touching it. I own a control surface fitted with endless encoders (BCR2000) and in order to select a pot i have to slightly turn it thus changing its value. That sucks. I don't want to add a switch near the pot to select it and i don't want to have to touch anything but the pot itself to select it. I just want to display the value of a pot by touching it. Some encoders of my BCR2000 are fitted with built-in switches. They're cool but somewhat hard to push. I don't like this way to select a pot.
I found several ways to achieve touch-sensing, but none related to the use of potentiometers or rotary encoders so far... I suppose i need to find to way to electrically connect the rod of an endless rotary encoder to a touch-sensing circuit without preventing its rotation.
A quick update :
I did open the neuronium. It's fitted with classic tiny alpha pot B 20k. The metal rod is not steadily connected to ground.
One curious thing : it looks like there is a transistor in the path of the V+ pin of the pot. I took 2 pictures of the board (front and back, same scale), so maybe someone will find out. The blue-green led near the pot lights on when you touch the pot. I tried to touch the pot through my clothes and with my index's nail, it only works with skin.
pictures : http://notsocomplicated.org/share/neuronium.zip