Introduction: Arduino Robot Arm
Ever wanted your own robot arm to pick up pencils and hand them to you? Well look no further! This Instructable will guide you through designing and assembling your very own robotic arm! First we'll start with gathering components to build it, then programming, and wiring, and then finish off and have your very own Robot Arm!
Step 1: Acquiring the Parts Necessary
In order to construct the arm you need to get some standard components:
-5mm MDF board or any other 5mm thick wooden boards that are lightweight (Foam-board works too if you don't have the tools necessary to cut wood precisely)
-5x 9 Gram servos
-Arduino capable of controlling at least 5 servos and receiving input from 2 joysticks (Preferably and UNO)
-2x 2 Axis Joysticks (Or 4 Potentiometers, if you lack joysticks or places to acquire them from)
-Wire or metal rods capable of being used as push-rods (Check thickness) (Solid core wire is okay, Stranded is not)
-6x size 8 screws (At least 18 mm long) and associated nuts
-1x battery or just connect it to your computer for power
-Hot glue gun
-Lots of wires (preferably stranded) that can extend the servo wires to their positions and wire the joysticks.
-(Optional) a small but relatively heavy counterweight. (about 1 kg is perfect)
*Important note* you also need the screws that come with most servos in order to mount them securely
Step 2: Cutting Out and Assembling the Arm
In order to have a working arm we need something capable of supporting the servos and other components and function as an arm. For our project we used 5mm thick MDF board and had it cut out with a laser cutter in order to make it as precise as possible. If you lack the ability to cut wood, a sheet of foam-board from your local dollar store will do just as well. (We recommend using something very lightweight like Balsa wood since 5mm MDF Once you have your chosen material to cut it out from, you may either download the attached .Ai file to cut it on a laser cutter, or download the PNG version to print out and tape to the top of your material as a guide. Once you have successfully cut out the parts, It's time to assemble the entire thing. Prepare 5 screws (and nuts), 4 Servos, and your wires/push-rods to assemble it. Follow the images above to get an idea for how the components fit together. Insert screws into the larger holes to create working joints. The two thin sheets are to be hot-glued to the base in order to give clearance for the servo. Hot glue the horizontal rotation platform and both of the base components together.
For mounting the servos, you insert them into the 5 square slots and screw the servos down into the mounting holes. Do not attach any pushrods yet as you need to have it powered in order to fine tune the length. Have some hot glue ready if you want to attach the servos permanently (The 2 at the base will likely need some)
Step 3: The Electronics
The first step of this is obviously programming the Arduino. If you want a challenge or are learning how to do this, feel free to do this on your own. The only instructions you really need is that you have to bind each potentiometer's signal input as an output for controlling the servos. If you don't know how to or don't want to, you can also download the program from here directly and get set up much faster.
Once you have the program ready it's time for the electronics, this part will be split into two parts depending on whether or not you did it yourself or downloaded the program.
Programmed it yourself
Connect your servo signal wires to the assigned outputs you have chosen, and power and ground using a solder-less breadboard to distribute power to all 5 servos. Do the same with connecting the Joysticks, power them and connect them to the signal input you chose.
Downloaded the program
Once you've uploaded the Arduino, it's time to wire it. Use the photo above to wire both your joysticks. (Pins A0, A1, A2, and A3. Connect your Base arm lifting motors to pins 5 and 10, connect the Forearm lifting servo to pin 9, connect the claw servo to pin 6, and finally the horizontal rotation servo to pin 11. Use a solder-less breadboard to distribute power from the arduino (5v pin and gnd pin) to power and ground all the servos along with the joysticks. You can use the photos above in case you need help wiring the servos.
Once everything is connected and the Arduino has the program uploaded, give everything a test run. Keep in mind that you should have one pair of servos (pins 5 and 10) moving at the same time but in opposite directions. so that when the pull on the push-rods they can lift the arm up.
Step 4: Finalizing
Once you have the arm complete, it's time for the final step. If you haven't already, connect your servos to the arm and power them, Adjust your push-rod length accordingly to how the max/min will position the arm. Make sure you have some extra metal when you do it so that you don't end up with too short a rod to extend the length. Once you have everything connected, give it a go! Once you've adjusted everything to your liking, you're finished. Enjoy your brand new Robot arm!