Engineering Boat Battle

Background

For our MECH-202 course, my team had to develop a battle boat that would compete against other teams in the class in a bracket. I handled all coding for our project, and we were the only team that was able to control our boat using an Xbox controller. Our team took second in a competition of 22 teams

RF Control and Xbox Remote

Due to a very limited budget, purchasing external shields for Xbox remote connection was not feasible. We were supplied with nRF components to communicate to our boats, and most teams opted to make their own breadboard controllers. I decided to take on the challenge of making our boat controllable by a controller, and to my knowledge after browsing forums and the internet, am the only person to have come up with this solution.

Arduino on its own does not have libraries that can handle Xbox or similar remote inputs without a shield. Another programing language, Processing, does. My code was three separate codes. One of our codes received controller input into Processing, and sent serial data in an array to an Arduino. This Arduino had code to interpret these arrays and send its own array via nRF to the boat. The boat of course, had an Arduino receiving the nRF data to execute movement of the boat and it’s onboard weaponry.

Through this method I was able to turn my computer into the Xbox Arduino shield, rather than require the purchase of one

Result

The result was a boat that was fully controllable in an intuitive manner. As mentioned, we took second out of 22 teams, completely submerging the three opponents before our final match. Our boat (left) had significant power and control compared to much of the competition

I recommend checking out this LinkedIn post, which has a video showing the boat at work. The “hard wired” configuration is purely our power, no logic or control was sent over these wires.

Previous
Previous

Casino Mechatronics Project

Next
Next

Machine Shop