
Arduino gaming controller
The objective of this project is to develop an innovative product enabling users to interact seamlessly with virtual environments. This will be achieved by designing and constructing a wearable sensory device. This device will cleverly harness real-world inputs to manipulate a chosen software application.

01
The accompanying diagram illustrates the intricate circuitry connections. Specifically, the button is adeptly linked to both a 3.3v output pin and pin 5. Furthermore, the GY-521 module is expertly connected to the 5v pin, and ground pin, as well as the SCL and SDA pins, ensuring efficient and precise functionality.
02
The code on the right is used to read the output from the gyroscope module as well as the output from a button connected to pin 5.



03
These codes will convert the input and print the direction if the device is tilted.
04
These are the python code to read the Arduino output and simulate button presses for the certain key.


05
This is the result of my preliminary design.



06
This is the thermoplastic case to hold the Arduino for final version of my design.
07
This is the completed project. I am represented by the blue robot in the top left. Overall, the controller demonstrates commendable performance.
However, there is room for improvement, particularly with an issue I've identified: the controller's gesture sensing is intermittent. This causes the character in the game to move in a disjointed manner. A potential solution could be to shift the focus from sensing the current gesture to detecting changes in the gesture. With this approach, the Arduino would produce a consistent output as long as there is no change in the gesture, potentially resulting in smoother character movement​。
