I'm an Industrial design student, and last year as part of a course called "Technology as RAW materiel" I built this project as my final work.
I work most of the time with SolidWorks, a CAD software for design and engenering. Rotating a solid body on the screen is done using the middle mouse button. I was looking for something more intuitive.
This is how I ended up doing the 3D air mouse, where the actual rotation of an object is done by moving the mouse in mid air on all 3 axis - the same way you would rotate the object if you held it in your hand.
I used the Arduino, a couple of sensors and a Processing sketch.
- As of now, this is only a demonstration of the concept, as there is no actual plug-in to work with SolidWork (but of course, feel free to write one if you know how :)
- Since all the hardware wasn't mine, the actual 3D mouse is long gone, and I'm using some photos and a video to try and make some sense in all this, and to give you some idea if you want to try and build one yourself...
Enjoy it... (It's my first Instructable)
Here's the a video demo of the finished project
Step 1: Hardware and stuff
Stuff you'll need:
* A mouse - a used one is better (only because it's used and cheaper), any mouse should do. You do need to have some space to house the sensors and some extra wires, so don't go for extra slim / extra tiny mice.
* Compass Module with Tilt Compensation - HMC634 - This is the 3 axis sensor, bought at SpurkFun for ~$149
* Logic Level Converter - A MUST! Since the Arduino is 5V and the 3 axis sensor is 3.3V, you need one of those to convert the 5V into 3.3V. It has a big name, but only cost $1.95 at SpurkFun.
* Large Optical Detector / Phototransistor - This is a simple optical sensor, used in this project to detect when the mouse is being lifted off the work surface. Bought at SpurkFun for $2.25
If you don't have enough space to house this one inside your chosen mouse, you can use this one, smaller and cheaper.
* One (1) LED - never mind the color, ultra bright will work better.
* 2 Resistors - One (1) x 100Ω and One (1) x 100KΩ (For the optical sensor)
* Arduino board - DA! I used the Diecimila model. A newer Duemilanove is avalilable at SpurkFun for about $29.95 (Should work too) + Arduino software installed.
* Processing software installed.
* The project's source code (Don't worry, you'll get to download it in a sec.)
Some hot glue (to fix things in place)
A couple of tiny screws.
About 10cm of a 6mm (Dia.) wooden anchor.
Some extra wires.
Something to cut the plastic with, I used a cutting knife and a file (FOR shaping).
("Ok, don't hate me for this step, English is my 2nd language, if I got this one wrong, I'm sorry, I'm sure you'll understand what I'm taking about in a sec. when you'll see it in pictures")