Instructables
loading
loading

How to make a remote controlled Robotic Hand with Arduino

FeaturedContest Winner
Picture of How to make a remote controlled Robotic Hand with Arduino

This is my school project for the 5th year of high school (I'm Italian, we have 5 years of high school).

It consists in an artificial hand controlled by a glove with flex sensors. The artificial hand reproduces the movements of the hand with the control glove, wirelessly. The hand and the glove works both with Arduino.

I just wanted to share my work for everyone interested :)

This guide is still in development, sorry if some parts are not clear, I'll put some 3D images in future.

I'm sharing something about my project on my facebook page: https://www.facebook.com/Gabry295

 
Remove these adsRemove these ads by Signing Up

Step 1: Materials needed

Picture of Materials needed
flexsensor1.jpg
Arduino_Uno_Angle.jpg
0002228.jpg
I bought almost everything from https://www.sparkfun.com/, they have fair prices (I don't mean to advertise!)

Total cost: ABOUT 160$

The materials needed for the control glove are:



• an elastic glove;




• LilyPad Arduino board (there are different versions, which usually only have 4 analog inputs, so pay attention and buy the one in the image): it works exactly like the classic Arduino UNO, so you can use even an Arduino Nano, but pay attention to the voltage needed;




• XBee module: for the radio communication;




• Shield to connect the Xbee module;




• 5 Flex sensors;




• 5 resistors: 47 KΩ;




• battery pack with 3x1.5 V batteries (Lilypad can be powered from 2.7 to 5.5 V, so 4.5 V it's ok);




• LilyPad FTDI adapter: to connect the LilyPad board to the PC and load programs with the Arduino IDE (quite optional, because you can use also the Arduino UNO board removing the ATmega chip, but it's tricky to make this kind of connection every time).


-

The materials needed for the robotic hand are:



• a steel structure for the palm of the hand and wood for the fingers;




• Arduino UNO board;




• XBee module;




• 5 servomotors 5V powered (I used TowerPro SG90);




• a servomotor shield for Arduino UNO: to connect the servomotors I used the Robot_Shield from FuturaElettronica, which has also a switching regulator to power the entire circuit, but you can use any shield made for controlling servomotors. Link: https://store.open-electronics.org/index.php?_route_=Robot%20shield%20for%20Arduino ;




• Shield to connect the XBee module (I made an horrible one, but it's economic and I needed to make one small because of the size of the Robot_Shield);




• fishing wires;
• fihing sinkers (to secure the fishing wire);




• 9 V Battery.


-

Tools needed:



• angle grinder (mainly to cut wood and steel);
• axial grinder;
• welding machine (with electrodes);
• drill;
• soldering station and solder;
• electrician's scissors;
• pliers;
• heat shrink tubing.


Step 2: Making the glove

Picture of Making the glove
glove.png
DSC_1205.JPG
DSC_1205 - Copia.JPG

To make the control glove I suggest first to choose the right position of the different components, then connect everything with the proper length of wire.

To make an analog read with Arduino LilyPad you need to make a voltage divider, since that flex sensors don't work like potentiometers (they have only 2 contacts).

So following the scheme, first solder the 5 resistor on the LilyPad board, one side to the 5 different Analog pins, the other in common to the ground. Then solder the flex sensors, one side to the 5 different Analog pins and the other in common to the positive.

Then connect the XBee Shield: two wires for the power, the oter two for the signal. Solder the Tx pin to the Rx and vice versa.

Now you need the battery pack, and the glove it's done.

BE CAREFUL: don't power the Arduino LilyPad over 5.5 V and don't power it conversely (even if sometimes I did it by mistake... And it still works!)

Step 3: Making the Robotic Hand

This is the most complicated part, because you have to choose the proper materials to make the hand, but it can be also easy if you have the possibility to 3D print the hand (there are many different 3D projects on the web for printing hand parts).

I started making the fingers with cork, to find the proper structure for the movements, then I made it with a branch.

So make three wooden cylinder per finger, two of them with 1 cm over the normal lenght of your phalanx, needed to fit one piece into another.

Then with an angle grinder make the grooves to make the pieces fit together (see the images, you'll understand better).

You'll need some sandpaper to make the pieces curved, so that they can rotate.

Use a drill to make the holes for the hinge, then you have to make other two holes for the fishing wire, vertically, one towards the inside of the hand and one outwards. So when the wires are set at the top of the finger, when you pull the one inwardsthe finger will close, and when you pull the one outwards the finger will open.

The palm was problematic, beacuse I made it initially with wood and the thinner parts always broke. So I decided to make it of steel and I've had no problems.

Cut it and do some protrusions similar to those made for the fingers to fix them to the palm (see the images as a reference). Then use the drill to make the other holes for the fishing wire, the thumb will be tricky because it's not vertical as the ther fingers.

Afer making the hand, you need to make a support for the five servomotors and a support for the Arduino UNO boards. Be sure to choose the right position of the servos, so they don't touch each other while rotating.

The last part consists in connecting the fingers to the servomotors: fix the fishing wires at the top of the finger and make them pass through the holes; then, when the wires are at the bottom of the hand, turn the rotor (manually, without powering it) at his maximum rotation (180°) so that it's in a vertical position, then set the wire that closes the finger to the lowest hole of the rotor, for example making a knot; turn again the rotor at 0° (it's again vertical and the knot made before is at the top) then set the other wire (wich opens the finger) to the lowest hole of the rotor. Follow the last image in this step to understand better.

So, when the motor is at 0° (vertical) the finger is opened and when the rotor is at 180° (vertical again) the finger is closed.

Step 4: Circuit of the Robotic Hand

For the circuit, you can choose to use a servomotor shield for Arduino UNO (search on eBay or Amazon) with a XBee shield, or make a custom shield (I'll make one as soon as possible) with the XBee Module and the pins for the servomotors, and power the Arduino UNO by its jack port.

The DIY XBee Shield I made uses a 12 KOhm resistor and a 22 KOhm resistor, you can see the wiring in the pictures.

So I used what I had already bought before, but you can use everything that let you control the servomotors and the XBee.

The servomotors have 3 wires:

  • yellow: signal (connect to a digital pin);
  • red: power (+5 V);
  • brown: ground (GND).

So now you won't make mistakes :)

I used the simplest type of servomotor, working at 5 V, with a rotary angle of 180 degrees (that's the perfect angle, we don't need more).

The USB ports of a computer can't give anough power to control 5 servomotors, so I suggest to use a 12V power supply to test everything and then use the 9V battery (Alkaline are preferred).

Step 5: The programs

The program of the hand and the glove, with all description, are in links below.

REMEMBER: to load the program you have to remove everything connected to the TX and RX pins of the Arduino (in this case the XBee module), else the program won't load. Remember also to set the correct kind of Arduino in the IDE (LilyPad or Arduino UNO).

Links for the two codes:

https://codebender.cc/sketch:59559

https://codebender.cc/sketch:55013

1-40 of 198Next »
ta8aym5 days ago

Hi, we talked before via e-mail ? Remember me ? I have nearly finished this project. I have some problems. Firstly, I am trying to upload the software to lilypad, but it is stucking on a level nearly %95. It is not giving error besides this not finishing. What should I do? And for uno board, I bought a Xbee Shield and I connected it with header kits. I connected all as in the pictures. Could you check it whether right or wrong ? I am waiting your response. And thank you for helping :)

20150523_162519.jpg20150523_162540.jpg20150523_162654.jpg20150523_162705.jpg20150523_162719.jpg
vilelaig3 months ago

hi gabry, how are you ?
i´m doing this project, i have almost the glove done, but it is in the robotic hand that i have some doubts.
At the beggining i thought that the "motor shield" could be used to connect the servomotors instead the "robot shield" or "servomotor shield". But for the servomotor work in the "motor shield" i got to change two wires one for the other of the servomotor, and then it works fine, but even if it works it only have 4 entries.
i´m thinking in making my own board in program called "eagle" to connect the servomotors and then connect my board in the "proto shield". What you think ? i need your advice.
hope you can answer

Gabry295 (author)  vilelaig3 months ago

Hi, you should make a row of 5 connection pins each one with three contacts (for the servomotor wires). So you'll have a 5x3 grid: solder together a row of 5 pins and connect it to 5V of the Arduino UNO board, then the same to the next row but connect it to the GND, and then connect the 5 last pins each one to his respective Digital Output( 9 -10 -11- 12 - 13 ).

This should work, but you don't have the switching regulator of the Robot_Shield that can save many energy for the battery.

On the other hand, you should have enough space in this "proto shield" to mount the XBee module, installing only one shield on the Arduino instead of two.

Hi again. How are you?

Everything is already done but i have some issues


In the robotic hand i have an arduino UNO, PROTO shield with the XBEE module, and above this, the board that i made to connect the servomotors, but in the board i followed you advice and i installed a switching regulator and it´s everything working.

The glove is all well mouted, it is equal to your. I will send you pictures when i can

At the end when i made a test with your programs is not communicating and i think it could be the XBEE modules, i´m using the XBEE module S1.


Can it be that they are not configured ?

Can i use XBEE PRO module ?

Gabry295 (author)  vilelaig23 days ago

Hi, I used XBee S1 and I didn't configured them (they are pre-configured to work at 9600 baud) I think you can use XBee PRO but I don't know if you need to configure them (probably you have to). It's strange that S1 doesn't work... Could you attach any picture of your Proto Shield?

hi, here it is some pictures of the project. But i have another question, the xbee pro module can be used in this proto shield of the picture ?

i´m very grateful of your answers.

CAM01074.jpgCAM01073.jpgCAM01069.jpgCAM01071.jpg

hope you can answer

Gerardo77718 days ago

Hello Gabry,

I'm trying to do this project. I have already made the glove and finished making the hand. But for the hand part, I got a sparkfun XBee shield. I also got a servo shield from adafruit.com

https://www.adafruit.com/products/1411

Is this a good shield for the project? Or is it the wrong type of shield for this project? I chose it since it can run up to 12 servos. I'm still new to Arduino and programming it. Your code doesn't work with this shield. Do I need to convert the incoming data from the glove to some form of PWM? By using the map() function? I'm really sorry to bother you with all this. Also, I would need to #include the shield's library right? Do I still need to include the Arduino's Servo.h library?

mason101981 month ago

Hey! Remember me? I finally got my version finished after multiple glove designs (3rd time's the charm!) and a final hand construction. I'm about to upload a video of it to YouTube, I'll post a link on here in a little bit!

Gabry295 (author)  mason101981 month ago

Yeah!!! So everything works! Awesome :D

Here ya go everyone! Check out the video of my version!

https://www.youtube.com/watch?v=PvVgzxfagbI

Gabry295 (author)  mason101981 month ago

mason10198, you really made a GREAT work. Congratulations man, you made me feel so proud, also for having mentioned me on your video :D

I think now you can press the button "I Made it!" if you haven't done so yet :)

Farm3r1 month ago

Thank you Gabry.

Gabry295 (author)  Farm3r1 month ago

No problem! :)

Farm3r1 month ago

Hey Gabry, do you know where I can find and buy the adapter that was used or others, such as the one used in the materials?

Gabry295 (author)  Farm3r1 month ago

Hi Farm3r, you mean the FTDI adapter right? I bought it from Amazon.com but you can find it also on ebay.com or sparkfun.com :)

Hey Gabry

Do you know where i can buy flex sensors cheaper than 30 dollars? :)

Gabry295 (author)  cr3at1vem1nds1 month ago

Hi, I only know about sparkfun.com... I tried to look for somthing cheaper but I couldn't find anything

You mean 30 dollars for all five sensor right?

BrianB151 month ago

Hi im sorry from taking up your time but i was really intrested in your project and was wondering where i can buy the........gosh forgive me i dont know the name, the green board with the yellow circle covered with coil that connects the servo motors to the arduino unit.

thankyou for your time and look forward to your response :0

Gabry295 (author)  BrianB151 month ago
ZacharyM31 month ago

Hi gabry i was wondering if you could give me the link to all the items used for the glove

Thanks

MisterSwat3 months ago

Hi gabry .. i really thank you for your great idea about the robotic hand also for the good explaination

but i wonder if you can tell us more about making the robotic hand because i want to make it 3D printed .. and i want to know how to connect the servos to the hand exactly

waiting for your response and many thanks for you :)

Gabry295 (author)  MisterSwat1 month ago

Hi, what do you exactly want to know more? :)

Rufi3 months ago

It's awesome buddy, i have an issue here ..

How can i connect Arduino UNO with Robot shield? and Is 9 V battery enough for Robotics hand??

Gabry295 (author)  Rufi1 month ago

The Robot_Shield is installed on the Arduino UNO by the pin connections. A 9V battery is enough but you need to buy a Rechargeable type or alcaline, like Energizer or Duracell (cheap batteries usually didn't work for me).

sugavana2 months ago
Can you tell me some other model of a shield which works exactly like the one from FuturaElettronica
Gabry295 (author)  sugavana1 month ago
sugavana2 months ago
Are both the xbee modules the same???
Gabry295 (author)  sugavana1 month ago

Yes, the XBee modules have to be the same

Farm3r2 months ago

Hey, I am having trouble locating what and where the materials needed to build the robotic hand and glove. Could you send a image of all materials names and where you bought them from?

Gabry295 (author)  Farm3r1 month ago

Hi, I bought everything looking on eBay for the cheapest parts, and on Sparkfun.com and Amazon.com for the other parts. Try to search by looking at the name of the parts I wrote on the first page

sugavana2 months ago

is it a 47 k ohm or 4.7 k ohm?

Gabry295 (author)  sugavana1 month ago

It's 47KOhm (the video has an error, I'm sorry)

mattgraham1 month ago

Is this shield (https://store.open-electronics.org/index.php?_route_=Robot%20shield%20for%20Arduino) compatible with the Arduino Uno R3? It says compatible with the "Original Arduino Uno."

Gabry295 (author)  mattgraham1 month ago

Yes it is :)

AyushM11 month ago

Hi Gabry

http://store.arduino.cc/product/E000027 and http://store.arduino.cc/product/A000011

which one to use and i'm a bit confused how to connect a xbee module to lilypad arduino main board please message or mail me all the step by step instructions at bluemb99@gmail.com or u can contact me at
https://www.facebook.com/ayush.mahajan.6875226

please contact me ASAP

wijdan20-rc2 months ago

how much time the lilypad spends time to upload the code ??

Gabry295 (author)  wijdan20-rc2 months ago

Hi, the LilyPad require just few seconds to upload the code :) If you are having trouble and it take too much itme try to change the board type on the settings!

HEY WHAT DO YOU MEAN BY CLAMPS?I DONT SEE ANY CLAMPS TO WHERE YOU HAVE ATTACHED THE 9V.PLEASE GIVE ME AN IMAGE. THAT WOULD DO FOR ME THE BEST.PLEASE SEND IT AS SOON AS POSSIBLE TOO,AS I'M ON THE DEADLINE

Gabry295 (author)  robotics master2 months ago

Sorry man! Here is where are the clamps

20140618_171521 - Copia.jpg
1-40 of 198Next »