Instructables
loading
loading
Picture of Wirelessly Controlled Robotic Hand

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 171Next »
sugavana4 days ago
Can you tell me some other model of a shield which works exactly like the one from FuturaElettronica
sugavana5 days ago
Are both the xbee modules the same???
wijdan20-rc15 days ago

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

Gabry295 (author)  wijdan20-rc6 days 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 master6 days ago

Sorry man! Here is where are the clamps

20140618_171521 - Copia.jpg
sugavana7 days ago
Hi Gabry, awesome project. Can you just send me the link of where you got the lilypad ftdi adapter from?
Gabry295 (author)  sugavana6 days ago

Hi sugavana, thank you for the appreciation! :D

Here is an example:

http://www.ebay.it/itm/Convertitore-FTDI-USB-seria...

I suggest you to try to search "FTDI" on eBay or Amazon. I bought it from Amazon but took a month to arrive :/ eBay usually have less shipping time, anyway this is also a valid option:

https://www.sparkfun.com/products/9716

sugavana7 days ago
Hey Gabry, can you send me the link of where you bought the lilypad adapter. BTW awesome project
Farm3r17 days 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?

hey please do answer these doubts-

there are a few lilypad xbee in ebay.com for 4 and 5 dollars.can i trust(they're from china)

please exactly mention where you have connected the 9v battery in the shield.exactly please.

if i am changing the servo motor shield how should the PCB to it change

where to connect all the wires to lilypad xbee .in your circuit diagram you only showed connecting wires to the xbee

Gabry295 (author)  robotics master25 days ago

1) If them are from China, I think you'll have to wait a lot for them, and I don't know if they are insured. Try to find someone who sell possibly near from you, and don't trust too low prices, ususally those boards are "clones", and even if they have the same functioning I think are less reliable;

2) I connect the 9V battery on the clamps of the shield, but if you are planning to not to use that shield then you have to connect the 9V battary on the 12V female jack of the Arduino UNO;

3) sorry I didn't understand the question :/

4) you're right, but see the notes on the first image at step 2, you have to connect the battery to the "+" and "-" and the other two wires to the "Rx" and "Tx".

wijdan20-rc1 month ago

how can i make a robotics hand ???

Gabry295 (author)  wijdan20-rc25 days ago

Sorry, your question is a bit too general :/ you can go through the steps and see the building process and ask me any doubt :)

JustinM131 month ago

Gabry,

I am currently in the process of building the robotic hand. Would a continuous servo motor work?

Gabry295 (author)  JustinM1325 days ago

Hi, I don't know if they have the same functioning of a 180-degrees motor, but I think it's possible, it depends on the construction of the motor, check the cables and the power :)

HI GABRY295, I THANK YOU FOR YOUR CONTINUOUS HELP.I'D BE GRATEFUL TO ANYONE WHO ANSWERS MY DOUBTS:

PLEASE GIVE ME A DIAGRAM OF HOW TO AND WHERE TO TIE THE FISHING STRINGS

MY XBEE HAS A SMALL BLACK ANTENNA IS .IT FINE

WHAT IS THE VALUE OF THE RESISTORS YOU USED BOTH IN THE HAND(xbee shield) AND THE GLOVE

BY THE WAY,YOU HAVE CONNECTED THE XBEE TO THE PCB IN THE HAND ,AND THE PCB HAS BEEN SOLDERED TO SOME PINS.WHAT IS IT

Gabry295 (author)  robotics master1 month ago

Sorry, here is the image!

Cattura di schermata (237) - Copia.png
Gabry295 (author)  robotics master1 month ago

Hi, I'll try to answer proprerly to your questions:

1) I uploaded here an image that I hope can help you understanding how I put the fishing wires (I posted it also in another comment);

2) If your XBee has an antenna is ok, the important thing is that both your XBee are the same version, or else they couldn't communicate to each other;

3) On the XBee shield I used a 12 KOhm and a 22 KOhm resistor. On the glove I used 47 KOhm resistors;

4) Check the pictures at the step 4 to understand better, anyway the pins are Rx, Tx, 3.3V and GND.

Rufi1 month 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??

MisterSwat1 month 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 :)

mysteryme1 month ago
Hi gabry I'm making a hand like ur instructable I've met with a problem in this project....I'm actually using ur program to run my hand...the exact problem is that the xbees have synced together but whenever I flex my sensor I'm not getting a displacement in my servo...and moreover whenever I check the output from the receiver arduino using my multimeter I'm getting different voltage values at different pins when the sensors are at unflexed position....n an another the value of 255 that u hav declared in the program is it voltage value????please reply fast....I'm stuck up in my project. thanks in advance
Gabry295 (author)  mysteryme1 month ago

Hi,the 255 value is an error that I "bypassed" and I still don't know from what is caused, nothing to worry about if you follow the code I wrote, it's not a real voltage value.

Also the receiver Arduino have outputs of 5V with different signals delay( on a period of 20ms you can have a minimum of 1ms of 5V and 19ms of 0V which means 0 degrees, and a maximum of 2ms of 5V and 18ms of 0V which means 180 degrees, so 1.5ms means 90 degrees). So I think that a multimeter doesn't give correct values...

Try to use the serial monitor with the codes at the last step to see which values are sent from your Xbee. And rember to re-upload in the Arduino boards the correct codes after the tests!

i thank you so much gabry can u pls give me ur mail id so that I could send all my doubts as n when I get because I'm in the final stages of my project...ur mail I'd will be of much use...thank you so much
vilelaig1 month 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)  vilelaig1 month 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.

mlvazq2 months ago

Hi, I saw your project, and it's so interesting, I'm working in a glove with the flex sensor but I use Xbee pro S1, I have problems with the communication, I use 2 arduino UNO like transmitter and receiver, I read the analogic voltage of the sensor and send them with the xbee module but in the serial monitor I can't watch my data that arduino receive, how do you do to read many data of the serial port of Arduino UNO?

I hope your answer, You'd help me so much

Gabry295 (author)  mlvazq1 month ago

Hi, sorry for late response, to read the analogic values on the Serial Monitor you have to change the "Serial.write(...)" part with "Serial.println(...)" because the "write" function shows you the ASCII symbols equivalent of the number that is sent, instead "println" shows you the real number but doesn't work with the transmission, it's only useful to see which values is sending.

Also, be sure to use the same models of XBee, because two different versions cannot communicate each other!

jlc21612 months ago
Hi Gabri could you please show a picture or how your glove looks now?
Gabry295 (author)  jlc21611 month ago
Hi, sorry for the late response, you can see in the second picture the 3 AAA 4.5V battery pack.
I added some clamps because the wire were always breaking in the solder junction.
temp_1888574147.jpgtemp_-1602878487.jpg
nah892 months ago

Is the prupose of the arduino in the circut for controling the hand to bascially intrpert the signal from the xbee?

Gabry295 (author)  nah892 months ago

The Arduino LilyPad on the glove take the voltage analogic signal from the sensors and send them via the XBee module; the Arduino UNO on the robotic hand receive the signals via the XBee receiver module and use them to control the motor. Hope I answered exhaustively, anyway ask me for any other questions! :)

could you please show the shield for the xbee which you mentioned earlier.

bcuz it looks almost like lilypad.also tell where to buy it

Gabry295 (author)  robotics master2 months ago
I bought it from sparkfun.com :)
temp_1217306188.jpg
jlc21612 months ago
hi i like this project so i decided to build it myself the problem im facing at the moment is with the servos. They start to twitch, when i try it with one flex sensor and one servo they do work but the servo twitches. here are some pictures(also i used a 47k ohms i change it to 5k ohms as soon as i saw the video that is supposed to be 4.7k ohms)
I need help with understanding why do the servos twitch when i try to use them also when i try to add the 4 remainder servos they start twitchin like crazy ans then come to a stop.
Please if anyone is facing this problem i would highly appreciate some help.


thanks
temp_-1083266594.jpgtemp_261482242.jpgtemp_838939849.jpgtemp_707974.jpg
paulsantony62 months ago

thanks and this is one of the project in intructables

neena.mazhar4 months ago

Can you upload the basic block diagram of overall project ?

Gabry295 (author)  neena.mazhar2 months ago

Sorry for the delay :/ I made this quickly, I don't have so much time to make something better on computer

20141118_090545-1.jpg
Ciao!
Dal link di futura elettronica credo tu sia italiano ahahah
Comunque, a quanto ammonta la spesa in euro??
Gabry295 (author)  mario.malizia.3322 months ago

Ciao! Sì sono italiano :) Scusa il ritardo di risposta, ho speso in totale circa 160€, escluso il materiale per la mano (metallo e legno).

1-40 of 171Next »