Measuring spooled/unspooled thread distance


#1

Long time Pimoroni shopper, first time poster.

I’ve an idea for a nice low-compute 3D mouse or pointer which involves attaching a string or thread tether to my finger. A crucial step is that the tether should be a component which knows exactly the length of thread/string has been let out, so I know how far away my finger is. I’m imagining something like the retractable things lanyards have on them. I’m wondering, before I start constructing custom spools, whether anyone has had to solve this before?


#2

A rotary encoder might work. Mechanically connect the shaft to the center of the spool. Turning the spool would turn the encoder. As far as I know they can detect which way their shaft it turned and by how much.
Are you going to use a Raspberry Pi or maybe an Arduino?


#3

@alphanumeric So, I only need an Arduino, it would be more efficient, but I’m thinking of keeping it pi. Thanks for the tip, but all the rotary encoders I’m finding are either volume dials, which have a high torque and low range, or servos, which have high torque too.

I did find this design, I’m wondering how hard it would be to shrink. Because it’s looking at the moving patches on the wheel it’s infinite and low torque.


#4

Pimoroni have these, https://shop.pimoroni.com/products/optical-encoder-pair-kit-for-micro-metal-gearmotors-3-3v
Mounting them to the spools might be tricky though?


#5

That’s a super shout, I could make spools out of small motors and solve that problem too. Thanks alphanumeric!


#6

Hopefully you get the sensitivity you want.

If you can get your hands on an old ball mouse, they have sensors similar to the one you linked to earlier. A wheel with holes in it that the ball moves. Then a sensor with a light beam broken by the holes when the ball moves. Getting it apart and usable without breaking it might be tricky though.

Find one with a scroll wheel and you’ll have your three sensors.