We were interested in utilizing a microcontroller for a 3D application, so we began attempting to create a 3D hand controlled by our own hand. Once the hand was built, we made an application that is a proof of concept for potential healthcare hardware endeavors involving hand therapy associated with arthritis, hand injuries, carpal tunnel syndrome, etc.
What it does
Our glove attached to hardware controls all 5 digits of a human hand and translates movements in the real world to movements of a 3D model hand in Unity3D. In Unity3D, we built a simple app that challenges the user to bend certain fingers when prompted.
How we built it
We built several circuits on an Arduino board, 5 of which involved flex sensors for five fingers. We used voltage splitting and relative value mapping to map the response voltages to numbers that can be translated to finger bending in Unity3D. In order to communicate with Unity3D, we used an Arduino bluetooth peripheral and a Mac's bluetooth port to retrieve serial data from the Arduino and map it to each finger. We wrote an overall hand moving class to recognize finger movement and add hand therapy app functionality.
Challenges we ran into
In general, bluetooth connectivity, serial output from the Arduino to unity, and finger motion were our biggest challenges.
Accomplishments that we're proud of
Communicating with Unity via a microcontroller in an intelligent way is something we're very proud of, and we're happy our aspirations produced a product that is both inexpensive and potentially useful for individuals struggling with hand-motion related ailments.
What we learned
Our software people learned hardware. Our hardware people learned software. We all learned how hard it is to build out an interactive peripheral for a 3D model.
What's next for 3D Hand Therapy
We hope this hack serves as a proof of concept for inexpensive health recover/rehab methods related to hand motion in the future.