Maestro is wearable input device using the orientation of the finger. Wearable small devices on the finger has been investigated to provide easy access to PC and surrounding environment (NailO, HandSight). Maestro enables user to do pointing and scrolling based on the orientation of the finger and contact between fingers.
- Arduino Pro Mini https://www.sparkfun.com/products/11113
- 9DOF IMU sensor stick https://www.sparkfun.com/products/10724
- Copper tape (or any other small conductive material)
- 3 resistors (1~10 mega ohm, big resistance is better)
- Wires, tape
- 3D printer
This Instructable was made as part of the CS graduate course "Tangible Interactive Computing" at the University of Maryland, College Park taught by Professor Jon Froehlich. Please see http://cmsc838f-s15.wikispaces.com/ for more details.
Step 1: 3D Printing the Rings
To mount the components in Maestro, rings are used. Download the stl file and print it with 3D printer.
Step 2: Connect IMU Sensor Stick to Arduino
To mount the circuit to the finger, the circuit should be small. Therefore, Arduino Pro Mini is used. Connect the IMU sensor stick to Arduino Pro Mini as shown in the schematic. The detail of using IMU sensor stick is here.
Step 3: Connect Electrodes to Make Touch Sensors
As shown in the schematic above, 3 electrodes are used as a touch sensor. The touch sensor will be used to activate/deactivate the cursor movement and scroll.
Step 4: Upload the Arduino Code
The arduino code computes the orientation of IMU sensor and the proximity of finger to the touch sensor. The code is composite of these two tutorials. See them for detail.
IMU sensor code
Touch sensor code
Step 5: Putting It All Together
Put all electrical components as shown in the figure in the previous step.
Step 6: Install the Mouse Event Injection Code
You can download the mouse event injection code from the github repository.
In the repository, the java project named JavaBrowser is the mouse event injection program.
Step 7: Check the Serial Port and Set It in the JavaBrowser Code
The final step is changing the port name in the JavaBrowser code. Open the Arduino program and check what is the name of serial port connected to Arduino.
Find the line
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier("/dev/tty.usbserial-AE01COQ2");
in the JavaBrowser.java and change the parameter to the name of your serial port.
Step 8: Try It!
That's it. You can try Maestro.