Continuation from Previous article.
The completed project
Unfortunately, my initial goal for this project could not be met, as I have continually run into structural integrity issues. What remains however, it a large joystick that requires near full body motion to use, which is similar to my initial goal of creating a controller that allows the user to use their actual movements to navigate an environment. As can be seen from the above image, the Fio v3 micro controller is wired to to the outer housing. Inside each block is a potentiometer which in turn is glued to the dowel which is rotated by the joystick. The base of the potentiometer is attached by two wires wrapped around screws to a metal bar. This ensures that the base does not rotate, but only the top, so that it can more accurately measure the dowel rotation.
The above images show how the joystick rotates inside the housing. Both the X and Y axis are free to rotate, allowing the joystick to move in a full circle.
The joystick takes the rotation data and determines which key is to be pressed for the given configuration. The key press is sent over the Serial XBee connection to an Arduino Leonardo with an XBee Shield (Seen below), which is recognized by the computer as a keyboard and mouse. The Leonardo is then attached to the computer running the virtual environment program. Once attached the joystick is able to send data to the computer and navigate the environment.
The code for this project can be found here.