We were inspired by Nico struggling to play Minecraft last night with no controller. He was using the arrow keys and mouse, but lacked a good playing environment. To combat this issue, we decided to create this device which adds buttons to be used by games (enhancer) and a joystick to pan and tilt the camera around.
What it does
This device connects to a computer via USB and controls a game using 5 extra buttons and a joystick. It adds functionality to any game, making it significantly easier to play games. The controller connects with out python drivers to simulate specified keys, clicks or mouse movements. These movements can be detected by games as the controller
How we built it
First we created a button layout for the Arduino to get inputs from. We then added responses to those inputs using the serial port in C++. After that, the serial port interacts with a Python script that controls the game.
Challenges we ran into
We ran into many challenges, especially with the Python script controlling the game. At first the keyboard inputs were not be interpreted by the game we were testing with. With some conversations with the mentors, we finally got it working well.
Accomplishments that we're proud of
We're proud that we actually got the inputs to be recognized by game. Also, we added a screen to give details on what's happening in the program. We're also proud of our team spirit and morale. We were focused, but energetic with our task.
What we learned
We learned a lot about how to program in C++, Python, Java (when we were trying to make a Minecraft mod as well), how electronics work (resistors, buttons, ...), and how to use the Arduino to control a computer like a keyboard and mouse would.
What's next for MineControl
If we had more time, MineControl would have more buttons, maybe an IR remote, scrolling through inventory, and getting data from the game (health, hunger, etc.)