Gesture Control

Since its invention, the keyboard and mouse have been ubiquitous in desktop environments, serving as inputs for human-computer interaction. But the traditional keyboard and mouse may not be aesthetically pleasing, or comfortable to use for all. Gesture control has become a major area of interest in recent times as an alternative to the keyboard and mouse.

The Myo Armband

The Myo is a gesture control armband with five distinct muscle gestures. We were interested in the question, is it possible to communicate with only 5 different motions? After several hours working with the Myo SDK, the answer turned out to be yes. With C++, we were able to make a script that allowed the user to cycle through the alphabet and the number system, and form sentences with the Myo.

Using hand gestures to cycle through 26 letters and 10 numbers, however, was doomed to be impractical from the start. But this is only with 5 different motions. With further development of the Myo, it is difficult to determine the limitations of gesture control. With 5 different motions, we were able to type all letters and numbers.

The Spark Core

Microprocessors can be flashed to run programs, read analog and digital inputs, and output likewise signals. We were inspired by our previous experience working with the Arduino and ATmegas. The possibility of making conventional microprocessors able to process gesture control signals was very low.

And that is when the spark core caught our attention, with its connection to WiFi, and its cloud API. Home automation was one of the practical applications of microprocessors, but interaction with the microprocessor after flashing was minimal. How could it be made so that a microprocessor could be more interactive with the user?

Using Spark's cloud API, custom C++ scripts on the Myo, and CURL, we were able to set up a functional design of this model. We were, however, unable to complete the implementation due to issues during compile time. We are confident that, beyond the compilation issues, that the Myo would be more than capable of sending digital and analog signals through the analog/GPIO pins of the Spark Core.

This will greatly enhance interaction as the Spark Core could receive signals from the Myo. This model would allow the usage of transistors and relays, which would mean that the Myo could be used to control the power state of any electronic component--whether that is a motor, a solenoid, or a servo.

Share this project: