The Battleship Air Cannon by charles hunt

Background Info

  • We were informed of an idea for a competition between the different STEM classes in our high school. Each class was supposed to make some sort of cannon structure that would shoot projectiles at a specific target and degree angle given a constant or varying amount of pressure.

The task:

  • Construct a cannon with the given materials found at:
  • Design a model for your Arduino Uno unit that allows it to control the firing of the cannon that you make.
  • Create a unique overall design that will allow your cannon to perform in a fully functional manner.


  • Our first order of action was to learn about coding and automated programming in order to allow our cannon to fire in response to a sensory input - in our case, the press of a button.
  • The following links are videos of me and my group learning how to construct different types of circuits using the ArduinoUNO and breadboard.

This Circuit taught us the basics of how a feedback loop works. The power given to the breadboard by the Arduino's power port and signal wires, the need for the power to be outputted back to the arduino through the negative/ground connection to the breadboard, and the function of the signal wire to the given component - which in this case was the led - was all gained knowledge by performing this circuit setup.

This circuit taught us of the different uses that a potentiometer could have on a circuit. The potentiometer's use, in this case, was to analogically adjust the rate at which the LED light would turn off and on.

In this circuit, we learned how a RGB LED light works. It basically can be programmed to display many colors on the color spectrum by utilizing the three colors, Red, Green, and Blue.

The code for the circuit three design introduced the term "constant integer" which controls the variable more definitely.

In this circuit, we learned about how a series of LED lights can work in harmony, which basically means as long as a component is given a signal by the arduino, the code sequencing tells the story. This concept is utilized later by us because of all the different components necessary for our firing control design.

In this circuit, we learned that the push button component can activate another component on the breadboard like the LED light. We utilize this later for our firing control because we use the push button as a catalystic start button to initiate all other components of that circuit.

In this circuit, we learned about the unique function of the photo resistor. The photo resistor is like a sensor that can activate another component if it senses something. In this circuit, as my finger approached the resistor, the light of the LED turned on in a gradient fashion.

In this circuit, we learned about servos and their functions. The servo has a fan-like structure which, when activated to different degrees, can rotate in different directions.

In this circuit, we learned about the buzzer component. When set in the code, the buzzer will play the designated rhythm and tone of whatever pattern you want by utilizing musical notes.

In this circuit, we learned about the relay component. This component acts as a switch does. It is naturally in a "normally closed state" which could either initiate another component (the yellow LED light). When the relay itself is initiated, it goes from normally closed to normally open which could switch on another component (the red LED light).

Barrel Support

Our next step was to create a barrel support

  • After looking at the example created by our teacher we realized that we needed to create a support for the barrels of the cannon to restrict free individual movement of one side from the other.
  • We started by measuring the holes of each PVC pipe's diameter and creating a hole chart in order to determine which dimension would be best for the support.
  • We then created the CAD file and printed it out as shown by the picture in the background.

Design: Stage One


  • In the beginning of the design process, we were pretty lenient on getting things done, which led to a time consuming, poorly thought out design.
  • Originally, I wanted the cannon to be able to rotate (horizontally) through the use of gears and it to be able to elevate (vertically) through a new method brought to my attention - rack & pinion. In hind's sight I suppose I got too excited with the idea of the rack & pinion being so challenging that I wanted to do it more for an achievement than for its potential use to our design.
  • Our group's first design was mediocre and we noticed that it had many issues due to a lack of detail. For example, as seen in the photo in the background, we wanted to allow the cannon to move vertically by using a rack & pinion type of method. However, we did not account for how the cannon was going to be anchored to the base or how the cannon was going to be able to lock into a set position on the y axis of the rack.
  • After exposing these errors through a group discussion, the design was scrapped almost entirely, keeping only the base and gear designs.

Design: Stage two

Sliver of success

  • The first small success came when we finally agreed upon an overall battleship design.
  • After a couple of lackluster-filled weeks, we finally started investing energy into the project which led to a solid cannon design.
  • As in the picture, we kept the same gear design from the original - still allowing the cannon to rotate horizontally on the premise of two gears.
  • We agreed upon a simple pulley design that would also include two bases, one that would sit on top of the gear controls, allowing horizontal rotation and one supporting the gears from the ground.
  • We decided upon the pulley design partly because we were running out of time and this was the first sound idea we came up with.

Cannon construction

  • While the design was being refined, we began learning about the things we would need to do in order to construct our cannon.
  • Afterwards, we were given the necessary parts and headed into the shop.
  • Once we were in the shop, we quickly reviewed how all of the tools functioned and began to create a plan to create our cannon. One thing I learned was the method of joining a PVC pipe to an elbow. You are supposed to glue and prime the female connector and only prime the male.
  • It took us about a week and a half to construct the cannon itself. After this was done, we began refining CAD files to be cut out by the shop bot in order to get the parts to our support.


Here's a quick video of how the shop bot cuts and how it looks. It is capable of cutting on the x, y, and z-axis.

The Automation


  • The next great obstacle came with the coding aspect of the project.
  • It was my responsibility to take care of the code programming and it presented many problems for a couple of months.
  • The main recurring problem with the circuit's functionality occurred in the relay. We are using the relay because the relay allows us to send a sensory input (like a button push) and have and intended output controlled by the relay. So, it's pretty much a controller used to easily control other components.
  • The relay is supposed to switch from normally closed to normally open, however, it did not fully switch to normally open in this circuit.
  • After consulting with many of my peers and supervisors, it was agreed that the best bet was to dissemble the entire circuit and rebuild it.
  • After rebuilding and rewriting the code step by step, the circuit functioned properly and one of the things found was that it helped for all of the parts to be on one side of the breadboard.

Testing Data

  • After our cannon was fully operational, we went outside in order to test the distance it would project a tennis ball given a certain elevation and a given amount of pressure. Below are the average distances that our cannon shot the tennis balls at the given angles and pressure.
At 60psi of pressure in the cannon
At 75psi of pressure in the cannon
At 90psi of pressure in the cannon

As the data shows, typically:

  • As the pressure increased, the distance that the ball traveled decreased
  • When the pressure stayed the same, the distance increased as the angle increased.


We pulled it off. We built a VIRTUALLY INDESTRUCTIBLE BATTLESHIP CANNON (*not really). This is only a simple air cannon that will still be affected by natural occurrences like the wind - let alone actual gun fire as real war battleships encounter. On a more serious note, We had many difficulties during the course of this project. One thing that we agreed could have been altered was the structural soundness of our pulley - some suggestions were to use different, stronger rope and a different number of pulleys in order to allow for an easier process of angle elevation adjusting. One of the suggestions that I had, personally, was to elevate the cleat in order to have more space in tying the rope/string. The strengths, however, of this project was the identification of individual skills. For example, Elizabeth handled the Onshape aspect for us. Onshape is an online 3-D CAD medium which allowed us to create and change different designs. I also found a passion for coding and programming that I would have never known unless I would have tried it.

Relationship Within the Group

As far as group chemistry goes, our group had a lot of fun, but I also learned a lot about myself. For example, I don't fully accept criticism right away, however, my group worked with me and we accomplished what we needed to. One thing I will work on for the next project is to be more attentive to my group-mates because there were moments where I found myself drifting into thought.

Created By
Charles Hunt The Professional


Alexis Cope Sara Forsey Tiara Holder Elizabeth Ries

Report Abuse

If you feel that this video content violates the Adobe Terms of Use, you may report this content by filling out this quick form.

To report a Copyright Violation, please follow Section 17 in the Terms of Use.