Clickwheel with Arduino

I'd like to use an iPod Nano clickwheel component (widely available for around $10 each on Ebay, Amazon etc) to control my software via Arduino. Is it at all possible to make it work with Arduino?

For example:
this one
this one
this one
or this one

Ideally, it would be Synaptics RoundPad, but I couldn't find any part suppliers.

All I want it to do is Arduino to repeatedly simulate keystroke/shortcut "A" when finger is moving clockwise (incrementing) and keystroke "B" when finger is moving counter-clockwise (decrementing). This is to be used as a "jogwheel" for an edit controller I'm building.

Is this possible? Any advice would be very much appreciated!

Many many thanks in advance!

This article on iPod clickwheel explains the principle of how capacitive sensing works. But how would I go about connecting one of these to Arduino?
Should I simply abandon the idea? ::slight_smile:

Thanks!

This article on iPod clickwheel explains the principle of how capacitive sensing works. But how would I go about connecting one of these to Arduino?
Should I simply abandon the idea? ::slight_smile:

Thanks!

Interesting~ I was trying to locate some capacitive sensor...

The connection should not be a problem, there are jackets for it.

How would you connect this to Arduino Diecimila? Also, is that analogue or digital? Thanks.

Just found this post. Paul explains:

I had the idea that it might not be too much of a hassle to implement a scroll wheel with just an Arduino. You would only need one "send" pin and maybe four or five "receive" pins, all linked to the send pin with 1 M resistors. You would then send a "burst" (cycle of square waves) from the send pin, to each receive pin (in order). After reading each pin (see the reference) it would be flipped to an input with pinMode().

Hmmm... Quantum QWheel technology sounds exactly what I'm after. But I have no idea how to implement QT510 / QT511 / QT1106 in an Arduino design... Any thoughts?

This is to be used as a "jogwheel" for an edit controller I'm building.

Intriguing, a custom edit controller was the original motivation for my Arduino USB HID integration.

What's the software you're wanting to control? I'm wanting to control something like iMovie but I'm not sure what "built-in" support iMovie/OS X has for jog wheel control without a custom driver.

--Phil.

My aim is to build an edit controller for Steinberg Cubase (or Nuendo). They've got excellent key mapping / macro facilities, so pretty much anything can be automated via keyboard shortcuts (fades, trimming, timing etc). As long as I could get a clickwheel / jogweel talking to Arduino, it would be a matter of minutes to assign the commands in Cubase. Unfortunately, my electronics knowledge is below basic. And I don't know how to connect this clickwheel to the Arduino Diecimila board I've got. I've worked with hardware audio editors in the past (such as the AMS Neve Audiofile SC) and I think a touchwheel / clickwheel would be a very attractive alternative.

It would be great if someone could help me stupid figure out how to connect this clickwheel to Arduino! ::slight_smile:

Does it have to be one of the Ipod wheels ?

Couldn't you do the same with an ordinary rotary encoder, maybe with a large knob on it ?

Implementing a rotary encoder with Arduino has been done before, and has been discussed in the forum.

Does it have to be one of the Ipod wheels ?
Couldn't you do the same with an ordinary rotary encoder, maybe with a large knob on it ?

Rotary encoder was my starting point. Which isn't bad, but I would my control surface to be as flat as possible. A touchwheel would be much more appropriate. Not necessarily an iPod wheel, but I thought since the component is so cheap it would be great if I could incorporate it into my design.

While on the subject, does anyone know of any jogwheel "wheel"/knob component manufacturers? I couldn't find a single one, anywhere. The biggest knob I found on Rapid Electronics was about 35mm diameter, and quite tall too (16mm), so not ideal. I could probably knick one from some old hifi or car stereo amplifier, but I was wondering if you guys knew of any jogwheel knobs sold separately, on their own?

Really appreciate your ideas! Thanks guys.

If you can find a large enough knob for a rotary encoder you could just "embed" the encoder and knob in your box and have the top of the knob flush with the frontpanel of your box. This would of course make the box rather thick which might be just what you want to avoid :slight_smile:

I just posted a capSense library that I think can be used to make an effective scrollwheel. Of course I could be wrong.

All you have to lose is some alluminum foil and 10M resistors though.

Cross post any progress here please

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1227388576/0

only just spotted this thread while googling for something else...

Possibly some of my tests with reclaimed jog/shuttle dials might help:

Inspired by a post on the Make blog about a jog wheel made from a hard disk motor: http://blog.makezine.com/archive/2008/11/hddj_hard_disk_for_rotary.html

I figured out a way to do that same sort of thing with the hall effect sensors in the brushless DC motor that's used in most types of CD-ROM and DVD-ROM drives. There are three hall-effect sensors, and with three comparators (TLC3704), I got six steps in a cycle. The cycle repeats six times per revolution, so it's ten degrees per step. If anyone's interested, I could write it up and convert it from AVR assembler to Arduino sketch code.

If anyone's interested, I could write it up and convert it from AVR assembler to Arduino sketch code.

Yes, please. :slight_smile:

--Phil.

I've drawn up a first draft of the circuit diagram for the CD-ROM spinner control, using the Hall-effect sensors in the brushless DC motor. Here's a small version; follow the link to Flickr for bigger versions:

Imgur

The three square symbols on the left are the three hall-effect sensors in the motor. Mine were connected in series by the PCB on the motor itself, and I just used two 100 Ohm resistors to send a small current through them. The bigger blobs on the diagram represent connections to the motor, and connections to the Arduino (any three digital inputs will do).

Now, I'd better get on with the photos and the sketch code...

Thanks. :slight_smile:

If you could add a photograph of your motor connections that would be helpful too. :smiley:

--Phil.

That's the next thing to do, yes! Of course, all CD-ROM motors are not the same, so it'll take a bit of figuring out which wire goes where on your particular motor. Also, some motors might have the Hall sensors in parallel, instead of in series as I've shown them. The motor driver chip datasheet shows that either configuration will work.

Through much pain and digging I came across this topic. I am not very much into electronics, so I cannot find the words that make google happy.
I have that same type of brushless CD motor, with obviously hall effect sensors in it (from the look of it probably 3). But it has a ribbon cable with 12 pins, so I cannot decode that :).
Obviously I am also waiting for your pictures and additional explanations. I also read your post about how to power and control such motor, but again - instead of 3 I have 12 pins, that I cannot decrypt.
Thanks for all the shared info so far!

Some of the wires in that 12-conductor cable may be unused, and some may be connected in parallel. The first step is to use a multimeter to check for continuity between ribbon cable wires and the pins of the Hall-effect sensors. Try to figure out the wiring of the motor coils, too, so that you can levae them unconnected. Note from my diagram that the three Hall-effect sensors will have two wires each, plus power and ground.

Thank you for your reply!
I went further with my observations, and traced which wires are connected to which hall-effect sensor. I traced the 6 wires to the 3 sensors.
Now what I don't know is if there is polarity in those sensors?
I assume that I have to count this way - 6 output lines from the sensors, power, ground for them, 3 control lines for the coils. (I traced those also). Is that right?
My motor comes from disassembled CD ROM. In it you can find two more motors the one opening the tray, and the one moving the optical head.
I managed to work with the DC motor that positions the head laser reader. On both drives I found a motor with linear optical encoder attached directly to the shaft. Because the encoder is linear (3 wires) and optical (led) I figured out the power and the ground (from the placement of a resistor) and was able to read the ticks from the data pin. (Sorry for the little off topic but I think googlers might find it handy)