Computer Mouse

This is my first projekt with Arduino and I need some help in choosing the right components.

I want to build a computer mouse in a glove. The functions should be -moving the cursor by moving the hand -right klick with the middle finger -left klick with the forefinger -scrolling by the angle of the hand -it should not need to be on the table, but also in the air

Therefore I need: -two buttons at the fingers: saw this one on this site https://store.arduino.cc/product/E000031 and wanted to ask wether it is good for my plan or if theres something better - a main board that is small for the glove -and the sensors recognizing the movement of the hand in x/y -and the sensor recognizing the angle between the hand and the earth I am not sure wether the last to points can be done by one sensor

If theres anything not clear just ask me what I mean Do they get again the components that are currently out of stock ?

For the x/y movement, do you need absolute or relative position tracking? If the latter, sensors will be relatively easy to find (basically, for everything you’ll just need an IMU - Inertial Measurement Unit - of some type).

If the latter, things become more difficult - and potentially more expensive.

As far as the “buttons” are concerned - the product your link referenced would probably work ok - but rather than a button at the fingertips, have you considered “pinch” recognition?

Basically, you would have conductive surfaces (made out of a textile similar to that button) on each finger and thumb, and perhaps a few other areas (on the palm and other areas the thumb and fingers can reach). You could then have multiple combinations available (not just one or two buttons, but many more - including combos of “pressing” multiple buttons, depending on how the person using the glove “pinches”).

I would, though, stick with using some kind of conductive fabric, rather than other options, for this particular application.

As far as a “main board” is concerned - using a Pico or a Nano would work, or coming up with your own custom solution. Another possibility (maybe best, since it was designed for use in wearables) is the LilyPad:

http://lilypadarduino.org/

There is such thing also as the LilyPad Accelerometer:

http://lilypadarduino.org/?p=384

It isn’t a full IMU - but maybe your app won’t need it?

Also - if you search around that site and elsewhere on google about the LilyPad and how it relates to wearables, I am sure you will find more answers (and probably a few examples) to the questions relating to your project.

Good luck! :smiley:

Absolute position tracking usually means an array of infra-red camera and IR leds on the thing(s) being tracked. Not simple, not cheap.

Dynamic movement via a 6 or 9DoF IMU is known technology and ultra-cheap these days.

yeah I only need relative position tracking more shouldn't be needed for a mouse.

For the buttons I thought about making more but i want to realise it first with less functions, because I never used this before and don't know mcuh about programming.

Is the 6 DoF IMU exact enough for a mouse because it is cheaper, smaller,easier to use, but probably less exact than the 9 DoF IMU and does it have to be a special one to work with the boards or can I just buy one somewhere on the internet

The answers above are much more concise...

but from the hip..

I was thinking..

1.) a Pro Micro (not pro mini) 2.) accelerometer (not sure if thats all that would be needed?) 3.) possibly 2 x flex resistor strips..

and start there and see where you are 'lacking' in any area.

Thank you, only need to do some cost planning in front of the projekt. What is a Pro Micro?

Pro Micro is (more or less) a Leonardo.. but in the same form factor as a Pro Mini board (same size and like 90% pin compatible)

The benefit you get form using a Leonardo (or similar), is that is can behave like HID device..(keyboard/mouse..e.tc) when connected to the PC by default.

example.. without any extra components, I can connect a Leonardo/Pro Micro..etc to a PC.. and (either through just timed code or with a button press) type stuff out on the screen. single letters, or even 'phrases/sentences'...etc.

same with mouse stuff.. move the cursor up/down, left/right.. or invoke left/right button clicks..

IMHO.. that takes care of alot of what you want to.... you main focus now is to worry about how you are going to get these 'directions' from your outside components..

so for example: https://www.sparkfun.com/products/8606

you have two of these, one in index finger, the other in middle finger of your 'glove'...

you can then check the value returned...and envoke either left or right key press...etc.. yadda yadda :)

the movement tracking..etc.. will be harder IMHO..(and outside of my comfort zone as I have only played with an accelerometer a few times.. and not for the type pf movement you want to track.)

Don't forget that a Lilipad USB is also a Leonardo style device like the Micro. One thing a Leonardo device would be good for is to remember passwords where you have a display and select site on the display and let it login. This glove mouse could also be a password rememberer too.

For our mouse glove maker, note that some people find these Leonardo devices can get tricky to program. Good luck!

what is meant by 'tricky to program'?

I just use the IDE and hit the upload button myself?

Something like this would make a good start for position sensing. A similar device is used in the air mouse for smart TVs.

Russell.

I would check into flight control boards for quadcopters. Someone makes one with a 32U4 on it which is the processor you need to get the HID function for USB. Most of them already have several axes of accellerometer.

As for Arduino environment to program, it’s not impossible to flash the board with the Caterina Boot Loader which was written for the 32U4.

I have personally taken a Teensy-2.0 by Paul Stoffregen and flashed it with Caterina. Your pins come out a little weird, but it can all be fixed.