Introduction: Arduino Controlled Catapult
I recently had the idea to create a catapult, But not just any kind of catapult, an electronic catapult! I wanted something I could just sit it down hit some buttons and watch it do its thing without being to big.
This is what I came up with:
It is a little bigger than what I would of hoped but maybe I will make a smaller desktop/ office version soon.
It uses the Arduino as the brains of the operation and do note I'm still quite new to Arduino.
It use 3 servos to control tension, angle and trigger.
Tension and angle are controlled but two potentiometers.
The trigger is controlled by a push of a button which also resets automatically!
There is a extra button for Manual Reset if needed, As well as the on and off button (blue)
all powered by Arduino and a custom shield to run the servo without killing the Arduino
Let me show you how I build it so you can build your own!
This is what I came up with:
It is a little bigger than what I would of hoped but maybe I will make a smaller desktop/ office version soon.
It uses the Arduino as the brains of the operation and do note I'm still quite new to Arduino.
It use 3 servos to control tension, angle and trigger.
Tension and angle are controlled but two potentiometers.
The trigger is controlled by a push of a button which also resets automatically!
There is a extra button for Manual Reset if needed, As well as the on and off button (blue)
all powered by Arduino and a custom shield to run the servo without killing the Arduino
Let me show you how I build it so you can build your own!
Step 1: Materials and Tools
First thing first, Sit down.
Grab some paper and draw what you want! This way you wont spend hours in the hardware store getting things you wont need.
My design is very basic, it uses a H shaped piece for the angle stopper and just a simple arm made out of a plank of wood that share the same pivot as the H piece.
Design yours how you want, even do a Google on some designs if you don't like mine.
I have listed some pictures to look at for ideas.
When you have your design and idea your going to need to get the stuff to build it out of, Now it doesn't have to be wood, I could be anything!
Try and keep it light to keep the work low on the servos.
I went down to my local hardware store and picked up a bunch of wood for around about $15 for this project.
Your also going to need basic tools, bolts and other junk depending on your own design.
Grab some paper and draw what you want! This way you wont spend hours in the hardware store getting things you wont need.
My design is very basic, it uses a H shaped piece for the angle stopper and just a simple arm made out of a plank of wood that share the same pivot as the H piece.
Design yours how you want, even do a Google on some designs if you don't like mine.
I have listed some pictures to look at for ideas.
When you have your design and idea your going to need to get the stuff to build it out of, Now it doesn't have to be wood, I could be anything!
Try and keep it light to keep the work low on the servos.
I went down to my local hardware store and picked up a bunch of wood for around about $15 for this project.
Your also going to need basic tools, bolts and other junk depending on your own design.
Step 2: Its All About Angles!
The angler was the hardest thing to figure out how to mount,
I had to mount a servo, H piece and catapult arm all on the same pivot join, The way I managed do this was to use two bolts ether side penetrated into the catapult arm that are countersunk flush so the servo could mount over it on the outside, On the two inner wood support pieces a nut was pressed flush into the inside to keep the bolts from coming out and hold ever thing together.
Two holes were drilled into the top of the H piece and a metal bar was tightly push though to act as a stop.
The servo itself was then mounted to a piece of acrylic that holds it nicely in place.
After running the arm up and down I noticed I was getting just a little bit of movement in the mount due to being a little of center, I didn't what this to stress the mounts too much so I added springs to each bolt holding the acrylic firmly down while letting that little bit of movement. (3rd image)
I had to mount a servo, H piece and catapult arm all on the same pivot join, The way I managed do this was to use two bolts ether side penetrated into the catapult arm that are countersunk flush so the servo could mount over it on the outside, On the two inner wood support pieces a nut was pressed flush into the inside to keep the bolts from coming out and hold ever thing together.
Two holes were drilled into the top of the H piece and a metal bar was tightly push though to act as a stop.
The servo itself was then mounted to a piece of acrylic that holds it nicely in place.
After running the arm up and down I noticed I was getting just a little bit of movement in the mount due to being a little of center, I didn't what this to stress the mounts too much so I added springs to each bolt holding the acrylic firmly down while letting that little bit of movement. (3rd image)
Step 3: Springs!
Springs are what gives you the power!
Try and find some good long and strong springs to use for the main tension source, Don't go too far overboard or else your servo wont be able to handle the load! If you overload a servo it will start humming or screaming and you could stall the motor and risk burning out the motor inside the servo.
My springs are all I had at the time, I had to double the length and overall strength to get them to suit my needs, although I did happen to find some better springs later on that allowed me to get another meter of distance.
Try and find some good long and strong springs to use for the main tension source, Don't go too far overboard or else your servo wont be able to handle the load! If you overload a servo it will start humming or screaming and you could stall the motor and risk burning out the motor inside the servo.
My springs are all I had at the time, I had to double the length and overall strength to get them to suit my needs, although I did happen to find some better springs later on that allowed me to get another meter of distance.
Step 4: Tensioner Position
Your also going want to space the tensioner servo a certain distance away so when the tension goes to 0 it allows the Catapult arm to drop for reloading,
Also given the height difference between the servo to the anchor point on the arm I was able to run the tensioner not just at 90 degrees but a total of 120 for greater tension.
don't mount it too high or else the projectile might end up hitting it, I made the mount out of clear acrylic that I heated in the oven and bent to make a stand.
Also given the height difference between the servo to the anchor point on the arm I was able to run the tensioner not just at 90 degrees but a total of 120 for greater tension.
don't mount it too high or else the projectile might end up hitting it, I made the mount out of clear acrylic that I heated in the oven and bent to make a stand.
Step 5: The Trigger
as you can see I have my fire servo to "hold" down the catapult arm as it gets tensioned by servo 1, When the user hits the fire button the servo just simply moves out of the way, Easy enough and it works.
Also you might of also notice on the video I added a hit down function on the angle servo, This hits the catapult arm down if its still standing straight up Some times this can happen and the arm will not proceed to fall on its own weight , Using the hit down function it can reload automatically.
Also you might of also notice on the video I added a hit down function on the angle servo, This hits the catapult arm down if its still standing straight up Some times this can happen and the arm will not proceed to fall on its own weight , Using the hit down function it can reload automatically.
Step 6: Electronics!
Time to get into the fun stuff!
The components:
1x Arduino
3x Big Servos
2x Potentiometers
3x switches
1x Lm7805 or Lm7806 Reg (Tip! if you cant find a 6v reg, get more out of a 5v reg and use a diode on the negative Pin to get around 5.7v out)
1x Heat-sink for regulator (might be a good idea)
1x 10-1000uf 16v cap
1x 0.1uf Ceramic cap
2x 1-10k Resistors
and miscellaneous socks and headers
I have attached a Schematic I made for this project. If you have trouble reading this, don't look at it as one picture, Look at it in sections. The schematic/ Circuit is made up of 4 areas: Power, Servo signal, Pot signals and switches. its actually really simple. All it really does is gives power the servos off another power source and takes readings from the two pots and two switches.
Also make sure all Negatives are connected to arduino common ground!
you can also add a ready light on pin 13 to tell you when its ready to fire.
I made my circuit on a Prototyping Shield for the Arduino but a Bread board will would just fine.
The components:
1x Arduino
3x Big Servos
2x Potentiometers
3x switches
1x Lm7805 or Lm7806 Reg (Tip! if you cant find a 6v reg, get more out of a 5v reg and use a diode on the negative Pin to get around 5.7v out)
1x Heat-sink for regulator (might be a good idea)
1x 10-1000uf 16v cap
1x 0.1uf Ceramic cap
2x 1-10k Resistors
and miscellaneous socks and headers
I have attached a Schematic I made for this project. If you have trouble reading this, don't look at it as one picture, Look at it in sections. The schematic/ Circuit is made up of 4 areas: Power, Servo signal, Pot signals and switches. its actually really simple. All it really does is gives power the servos off another power source and takes readings from the two pots and two switches.
Also make sure all Negatives are connected to arduino common ground!
you can also add a ready light on pin 13 to tell you when its ready to fire.
I made my circuit on a Prototyping Shield for the Arduino but a Bread board will would just fine.
Step 7: Putting Everything Together
Now you have your design, materials and components its now time to put it all together!
I have attached the code to program your catapult.
I do warn you, there is a few things wrong with the code!
I used to have it setup different that what you see now, I had to change a few things to help keep my tension servo from burning out, I used to have it live controlled but now you predetermine the force you want and when you tell it to fire it then does it, Before was way to much stress on the servo and power reg having loads on it all the time.
This meant I had to reprogram half of the code, Making the code useless in some spots and what, Oh well.
You will most likely have to change the servo values and rotation to make it work with your own design! I would test the servo direction and angle before you attach anything first just to make sure its not going to destroy itself!
Servo 1 is tension
Servo 2 is angle
Servo 3 is Fire
Future plans?
In the future I have a better idea on how to get more tension without having to use as much force, Its so simple now! Ideas always come to me after I have already build it.. Oh well, This is only a prototype anyway.
Well I hope I have given you enough information to at least get you started for now,
I had great fun blasting music and building this contraption, I hope make something with you again soon!
Thank you for reading my first ever Instructable, I hope to upload more cool things to build soon!
Have fun and Happy building
Happy Circuits- Travis
I have attached the code to program your catapult.
I do warn you, there is a few things wrong with the code!
I used to have it setup different that what you see now, I had to change a few things to help keep my tension servo from burning out, I used to have it live controlled but now you predetermine the force you want and when you tell it to fire it then does it, Before was way to much stress on the servo and power reg having loads on it all the time.
This meant I had to reprogram half of the code, Making the code useless in some spots and what, Oh well.
You will most likely have to change the servo values and rotation to make it work with your own design! I would test the servo direction and angle before you attach anything first just to make sure its not going to destroy itself!
Servo 1 is tension
Servo 2 is angle
Servo 3 is Fire
Future plans?
In the future I have a better idea on how to get more tension without having to use as much force, Its so simple now! Ideas always come to me after I have already build it.. Oh well, This is only a prototype anyway.
Well I hope I have given you enough information to at least get you started for now,
I had great fun blasting music and building this contraption, I hope make something with you again soon!
Thank you for reading my first ever Instructable, I hope to upload more cool things to build soon!
Have fun and Happy building
Happy Circuits- Travis