4-DOF bluetooth robot arm
Team 2: Camilla Palenius, Riku Hyvärinen, Antton Äijälä
1. Project description
Our goal is to build a 4-DOF Arduino robot arm with bluetooth connectivity. The user can control the arm from a smartphone application using bluetooth. The arm itself will be moved by stepper motors and servomotors. Also we want to model and 3D-print the body parts ourselves.
You can use this Wiki page as a guide for building your own version of our robot arm.
2. Components
Down below we have listed the electronics needed for this project. We have also listed a price estimate and a link where you could purchase one. In our case we already had some of the components so we saved a lot of money that way.
Also you will need a bunch of jumper wires, screws, resistors, a breadboard, a power source, a heavy piece of wood and probably some sandpaper too.
We modeled the structure ourselves and then printed it using a Prusa MK3s printer. The files for printing are available from google drive, the link is down below. Please note that we modeled everything to fit our electronics so your electronics might not fit the frame perfectly unless you purchase the exact same ones that we used.
Our print was successful on the first try and we encountered no issues with it. The printing takes in total about 16 hours.
3. Assembly
The following table and picture should be helpful with assembly. In case of doubt it is useful to open the assembly drive (available on google drive) and get a better look from multiple angles. However, we still think that the whole assembly is pretty intuitive and shouldn’t cause much trouble.
Part | Number in picture | Picture |
---|---|---|
Link1 left | 1 | |
Link1 right | 2 | |
Link2 left | 3 | |
Link2 right | 4 | |
Link support | 5 | |
Base | 6 | |
Bottom | 7 | |
Bottom | 8 | |
Claw | 9 | |
Claw support | 10 |
We recommend having sandpaper at hand to sand down any parts that might rub together, it makes the movements much smoother. This especially applies to the round ends of link 1. Also for stability you should screw down the bottom to a heavy piece of wood.
You should connect bluetooth RX to pin 10 and TX to pin 11. Also connect stepper and driver to pins 2 and 3. Servo 1 should be connected to pin 5, servo 2 to pin 6 and servo 3 to pin 9. Remember also to connect HC-05 and the stepper driver to GND and VCC. The picture down below can be helpful (although please note that not all connections are ready in this picture).
The build should look something like this once fully assembled.
4. Code
Here is our code. You will need to use libraries called AccelStepper and BT to Arduino IDE if you want to use it.
5. Functions
The arm works with bluetooth. For this purpose you will need to download a bluetooth terminal application to your smartphone. There are many available and it doesn’t really matter which one you use. We warn you at this point that the HC-05 bluetooth module only works with Android so if you have an iOS device this unfortunately won’t work.
You send commands to the robot hand through the bluetooth terminal. Every movement corresponds with a number. It is also simple to add your own pre-saved movements into the code in case the presets made by us aren’t enough.
Function | Command |
---|---|
Down | 1 |
Up | 2 |
Turn counterclockwise | 3 |
Turn clockwise | 4 |
Claw open | 5 |
Claw close fully | 6 |
1st servo up | 7 |
1st servo down | 8 |
2nd servo up | 9 |
2nd servo down | 10 |
Move cube from box 1 to box 2 | 102 |
Move cube from box 2 to box 1 | 201 |
In the following video we demonstrate how this actually works.
6. Further development ideas
If you wish to further develop this robot arm, we have a few ideas you could try:
- Using Blynk or other similar software instead of bluetooth terminal app
- Adding a pressure sensor to the claw, it should make it easier to pick up objects
- Using wifi instead of bluetooth
During the project we made a Blynk tutorial for beginners, it might be helpful if you decide to try to control the arm with Blynk.