Introduction: Smart Projectile Launcher

About: Student interested in electrical engineering and robotics

Does your projectile launcher ever shoot where you don't want it to go? Do you wish it would do all the math to figure out the angles for you, EVEN FACTORING IN AIR RESISTANCE? Or do you just hate having to turn the launcher to the right direction?

Well fret no more!

Shooting ping pong balls with precision is not always an easy task, but the Smart Projectile Launcher can solve that problem.

This project involves work with machines cutting wood, electronics, coding, and elements of robotics. Not all parts are necessary to make a projectile launcher, but all parts are necessary to make it smart.

Skip to the end if you want to see it work :P

Step 1: Materials

DISCLAIMER: This project does get a bit costly if you do not have a majority of the materials laying around the house. Please be careful not to point the PVC tube towards anyone.

Misc. Supplies

  • Jumper Cables
  • Alligator Clips
  • Resistors
  • Capacitors
  • Arduino development board (I used a Leonardo but others work as well)
  • Wood -for getting small pieces that may be used in different parts
  • Screws - assorted from one inch to three inches (depending on wood thickness)
    • use largest screw that does not go through wood to ensure a sound base
  • Electrical Tape
  • Screwdrivers
  • Drills
  • Saws
  • Hammer
  • Soldering Iron
  • Solder
  • Clamps

Supplies

  • 3 servo motors
  • LCD with potentiometer
  • Lazy susan (for the ball bearing)
  • Fishing reel
  • Nylon wire (fishing wire rated at 50lbs+)
  • Wooden dowel
  • 2 Compression Springs
  • Straps
  • Wood staples
  • Popsicle sticks

Potentiometer control

  • 2 potentiometers

Optional

  • Motor Shield
  • Spray Paint

Step 2: Measuring K

***THIS STEP IS NOT MANDATORY TO BUILD DEVICE OR PROGRAM IT. IT ONLY SHOWS SCIENTIFIC DATA***

K is the spring constant. Force is found using F = K * X and the energy stored in the spring can be found using E = K * X^2.

Different weight was added to measure the compression of the spring. Since two springs were used, the theoretical calculation of K is found using 1/Keq = 1/K1 + 1/K2. Since K1 and K2 are the same Keq = K/2.

Since we used 2 springs, K is 1454.8/2 or 727.4

Step 3: Measuring Coefficient of Drag

*** NECESSARY TO PROGRAM SMART ASPECT ***

  • žHad to calculate Coefficient of drag
  • —Used to determine how much drag an object will experience while moving through a fluid environment
  • žCd for hard yellow ball is 0
  • žUsed terminal velocity to get Cd for ping pong ball
  • Terminal velocity: 5.33 m/s
    • measured by counting frames-See video
  • Used Ff = b * v^2 = m * g = Fw
    • where b = 0.5 * A * Cd * p
      • A is cross sectional area
      • p is average density of air
  • Result: 1.08
    • high for a ball - not streamlined

Step 4: Creating Spring Launcher

***BUILDING BEGINS HERE***

The inner launching mechanism is based on either one or two springs in series.

  • Cut pex tube to 6 inches
  • Drill small hole at the end of the pex tube
    • This is used to stop the spring mechanism from going flying
  • Screw in nut on the other end of pex tube
    • Optional: Tape two springs together
      • I used electrical tape
  • Slide spring onto pex tube
  • Tape top of pex tube to nut

The spring and nut should now stay attached to the pex tube when launching.

  • Drill hole the diameter of pex tube into PVC cap.
  • Attach the cap to the pvc tube securely
    • Glue may be necessary, but I found that it would stay on, even during launches, without glue.
  • Place pex tube through hole with the nut and spring on the inside of the PVC tube.
    • The end of the pex tube with the hole should stick out through the PVC cap.

The next step will require muscle and may require a second pair of hands. Please be careful not to point the PVC tube towards anyone.

  • Pull back pex tube while holding PVC in place until spring is at max compression.
  • With a pen or marker, mark the a spot on the pex tube just before max compression
    • the closer the mark is to max compression, the better results, but the harder it is to reload
  • Take pex tube out of PVC and cut a hole the size of your first wooden dowel
  • Place pex tube back inside PVC with the end sticking through the PVC cap
  • Cut small holes into a second wooden dowel.
    • These only need to be large enough to fit nylon wire through.
  • Insert small wooden dowel into hole to prevent pex tube from falling out of the PVC.
    • A screw with a nut on the end or any metal will work better, but it may be impossible to thread nylon wire onto it.

The launching mechanism is now complete and fully functional. Try testing it out with a ping pong ball or anything else that you would like to launch. Be safe. Never launch directly at someone.

Step 5: Advanced Launch Setup

I found pulling the launcher back and aiming it to be a hassle, so I decided to build a setup that would allow the launcher to be reloaded and launched more easily.

Cut a piece of wood the diameter of the PVC pipe and the length a little further than your measured pex tube and PVC combined when at max compression. The fishing reel will also need to fit on this piece of wood.

  • Strap PVC to wood and secure with wood staples
  • Mount fishing reels at the other end of the wood with screws

This setup will allow a secure launch mechanism.

  • Pull back pex tube and insert the wooden dowel close to max compression
    • With the launcher safely stopped at max compression, it can be easily be reloaded using a fishing reel
  • Thread nylon wire onto a small fishing reel
  • Attach end of reel through holes in wooden dowel
  • Tie ends in a knot 3-4 times
  • Wind fishing reel as much as possible
  • Place clamp to prevent reel from unwinding
    • Pluck nylon wire to test tension
      • Higher pitches result from more tension
        • More tension will shoot the ball farther

After attaching everything, measure the center of mass by putting the side of your finger under each end and dragging both hands in until you are balanced at the center of mass. Mark spot and drill hole. This is where the launch mechanism will be mounted to the motor on the stand in the next step.

Step 6: Creating Base

The base I wound up creating was over engineered. The bottom is two pieces of wood mounted on either side of a lazy susan with a hole in the middle of the bottom one. The head of the motor was attached through the hole to the top wood with a nail gun. The body of the motor was fixed in place using two pieces of wood mounted to the bottom on either side of the motor. Wooden blocks were attached to the bottom motor with wood glue to keep the motor off the ground.

While in the pictures 3 pieces of wood are used on top, only one is necessary. Cut a hole in the wood and screw in the motor. On the bottom screw the wood directly to the side of the top wooden plate on the base. Attach the motor to the launcher mechanism hole using the wood nails from the staple gun. I pushed them on.

Step 7: Launch Mechanism and Electronics Setup

After further tests, I wanted to automate the process more. Instead of cutting the nylon wire with a scissor to release it, a quasi-cam motor would chop the wire instead.

Again, more over-engineering here. The quasi-cam guillotine motor does not need to have a block of wood attaching it. Instead just use wood glue on popsicle sticks and attach it to the side of the motor at the right height.

The guillotine motor is a razor blade glued between two popsicle sticks. The popsicle sticks are then attached to the motor head with wood staples.

Be sure to make sure the servo motor will move to the position where it will cut the nylon motor before continuing!

The potentiometers control the manual movement of the base and the buttons with the LCD calculate the automatic angle finder after inputting a position in cm.

Use a low value resistor to ensure that not too much current is going to arduino before connecting button output to arduino board.

See pictures to make electrical connections!

  • - button to 1
  • + buton to 12
  • Enter button to 13
  • "Guillotine" Motor to 3
  • xy (bottom) motor to 9
  • z (top) motor to 10
  • lcd: (8, 11, 7, 6, 5, 4) - RS,EN,D4,D5,D6,

Step 8: Code

Download to use.

Step 9: Testing Launch Mechanism With Potentiometer Control

Results