Close

Graphical Data Display

A project log for Manucon - A glove based controller

Use this sensor-loaded glove to precisely and intuitively control any model aircraft. Heck, control everything!

raptortechRaptorTech 08/18/2014 at 03:210 Comments

Once I had sorted out my Arduino code, I decided I wanted to display the output data from the first prototype graphically. 

Although I was already able to read text data about the orientation of the hand and the position of the flex sensor through the Arduino serial window, rapidly scrolling numbers proved nearly impossible to interpret. It was difficult to confirm that the data I was generating accurately reflected the position of the glove.

A graphical output would allow me to compare the motion of the glove to the motion of graphics on screen, which is much easier to do. It is also great for explaining to people how Manucon works, and demonstrating it's capabilities.

I decided to use Processing because it makes constructing graphics extremely easy.

To carry data from Manucon to my laptop, I simply used the OSSEPs USB port. Accessing the Serial data from within Processing was simply a matter of initializing the appropriate serial port and doing analysis on the incoming strings. 

The incoming string is 3 numbers (between 0 and 1000) separated by the character 'x'. I can split the string apart at these x's to get the three data streams, and then use their values to format my graphical output on the screen.

Here is the result:

You may be noticing some glitching. This is a result of incorrectly formatted strings coming from the OSSEP Uno. The OSSEP is handling 3 input\/output streams (IMU, PPM to TX, and Serial) each of which requires somewhat precise timing. I decided to give precedence to the IMU and the PPM output streams because those are the ones responsible for controlling the plane. Therefor, timing on the Serial output can get messed up every once in a while, but it doesn't actually mean that the Manucon is sending the wrong information to the plane.

View the code on Github!

Discussions