Inspiration
A standard mouse has a dependency for a desk which may not be the most convenient option to move a cursor around the screen in some scenarios like when presenting. Also, in games it can be refreshing to have your mouse controlled by movement in the air which makes a lot of sense for fps games. With the rise of AR/VR headsets and AR/VR gaming, such a device can be easily used to prototype the games or try out different implementations.
What it do
The project we developed mouse moves cursor on the screen based on hand movement. Hand movement was tracked using MPU 6050 of which only the gyro readings were used. Gyroscope reading provide the change in angular position in X, Y and Z directions which we used to move the mouse. Flex were used to implement right and left click of the mouse. A joystick was added to implement 'w' , 'a' , 's' and 'd' keys so that one could game right from the setup we made.
How we built it
Mouse movement
MPU6050 which is based on the I2C bus which was the backbone of our project. We read gyro data from the MPU6050 continuously and did some simple math on the results to produce two intermediate results. These intermediate results were used to move the mouse pointer.
Clicks
Readings from flex sensor were used to implement clicks. Flex sensors can be implemented directly as analog devices and convert the data to digital or we can use prebuilt flex sensors which send data over I2C. We used tried both the options and found no decipherable change in the functioning of the mouse.
'w', 'a', 's', 'd' keys
We implemented the keys using a joystick. The joystick returned analog values which were read over the ADC pins of the Arduino and these measurements were used to press either of the 'w', 'a', 's', or 'd' keys.
Challenges we ran into
Off the hand I2C was a challenge to implement. Once that was sorted, what to make of the readings of MPU6050 was a challenge.
Accomplishments that we're proud of
I2C implementation.
What we learned
I2C protocol in depth, what to make of IMU readings, Kalman filter, 3D positioning using IMU.
What's next for Glomo the Glove Mouse
We are using just the angular displacement data from the IMU which does the job but it can be made much better by using IMU to understand hand position in a 3D space. Using a decent glove and a flexible PCB, the project can be converted into a product.
Log in or sign up for Devpost to join the conversation.