Introduction: Remote Controlled Robotic Arm
This is a guide to make a Remote controlled robotic arm (6DOF) or just to control some servos on something.
You can use a normal IR TV remote to control the servos on a mechanical robotic arm. there is 17 buttons on the remote I used but I only used the 12 buttons on the bottom.
2 buttons for one servo, one is for clockwise and the other is for counterclockwise.
Step 1: Parts
Here is a list of the parts and tools I used to make this project.
- Arduino UNO.
- IR remote (any IR remote can be used).
- IR receiver.
- Male to female breadboard wires.
- 200 ohm resistor.
- 27x long male headers.
- 4x AA batteries and holder for servo power (6V) + Arduino power.
- Screw terminal.
- 6 DOF mechanical arm.
- 6x metal gear servos.
- Soldering Iron.
- soldering tin.
Step 2: Schematic
Here is an easy to follow schematic that I have drawn. Red is 5v to the IR and 6v to the servos, black is GND and yellow is signal.
The reason that I don't use the 5V coming out of the Arduino for the servos is because its not enough to work on more than one servo, sometimes one servo doesn't work when its powered from the Arduino.
There is a LED on the schematic, thats for indication that the receiver has gotten the code when you press a button on a remote.
Step 3: Soldering
I would have recommended to do this on a breadboard and test it before you solder it on a PCB, because some IR receivers can be hard to find the pinout on and you end up wiring the IR totally wrong and have to desolder it.
If you want to have your servo connections like I have them than you need 3x6 long male headers and bend one of the ends on all of them 90 degrees. 3 of the 3x6 headers needs to be a little bit longer before you bend them so they don't touch the servo connectors under them.
Solder the servo connectors and the the rest of the parts where you want to have them.
Step 4: Wiring
Solder vires to the components and to the places where the connections will be.
Step 5: Setup
At this step you will need to connect jumper wires (M-F) from the board to the Arduino UNO.
At the next step there will be a code that you need to download and upload to your Arduino board.
Step 6: Decoding Your Remote
The Arduino schematic you see above is the same as the way the PCB is, you only have to connect pin 11 and to power (5V). I used the code above made by Ken Shirriff to decode my remote.
You will need to download and import IRremote.h for the Arduino code.
When you upload the code to your board than you can open terminal on the Arduino software, if you press some buttons on a IR remote than you will see a lot of numbers and letters. every button on a IR remote sends out a different number.
On my remote I have 17 buttons, so I have made a map for the remote where the buttons were and under them I wrote the code that belongs to every different button.
So if you do this than you will know what the Arduino reads when you press volume + or any other button,
take notes from terminal and in the next step you will need to put them in the next code.
Step 7: Final Code
Download the code "ir_6servo_controller" and open it in a new sketch on the Arduino software, than you will need two libraries for the code:
On the top you will see these things;
#define MY_PROTOCOL NEC
#define RIGHT_ARROW 0xffc23d//
#define LEFT_ARROW 0xff22dd //
#define OK_BUTTON 0xff02fd //
#define UP_ARROW 0xff629d //
#define DOWN_ARROW 0xffa857 //
#define BUTTON_0 0xff4ab5 // S5
#define BUTTON_1 0xff6897 // S3
#define BUTTON_2 0xff9867 // S2
#define BUTTON_3 0xffb04f // S1
#define BUTTON_4 0xff30cf // S3
#define BUTTON_5 0xff18e7 // S2
#define BUTTON_6 0xff7a85 // S1
#define BUTTON_7 0xff10ef // S6
#define BUTTON_8 0xff38c7 // S5
#define BUTTON_9 0xff5aa5 // S4
#define BUTTON_s 0xff42bd // S6 *
#define BUTTON_h 0xff52ad // S4 #
You need to change the under marked codes to the once your remote sends out, you don't need as many buttons as I have. You only need 12 if you are going to control 6 servos like I did.
Step 8: Finish
When you get the code done with your IR remote codes and upload it to your Arduino, than you can connect all the servos to the pins on the receiver board. Now you are all finished and ready to pick up stuff and move it around without doing it with your hand!
Thanks for viewing this intractable and if you have any questions or tips to this project than leave them in the comments, and also share a photo if you made it :)
If you liked this project and want to help me than vote for me in the robotics contest.
We have a be nice policy.
Please be positive and constructive.
Could I just use normal jumper wires (Instead of long male headers) to connect the servos to the PCB?
Could you please give me a link to where you bought your 3 x 6 long male headers? I am doing this as a school project, so I need it ASAP. Thank you so much!