Arduino Wireless Animatronic Hand

 by njkl44
BTW!!!!! This instructable is awsomeeeeee


This is a very simple but at the same time a very hard project depending on your skill level. Lets get to building!

What this is, is a wireless animatronic hand that doesn't need a computer to operate. The user wears a control glove and can control the animatronic hand precisely. Bellow are some pictures of the final product:


Step 1: Video

Step 2: Control Glove

IMG_1447.JPG
IMG_1449.JPG
Materials:
Arduino w/ ATMEGA 328
Xbee w/ Shield
5 Flex sensors
Glove
9v
Hook up wire
Custom PCB making tools
(5) 10k resistors







1. Power both of the Arduinos to make sure they operate correctly.
2. Assemble the Xbee radio shields.
3. Connect the Xbee shields to the Arduino by placing on top of the Arduino.
4. Connect the Xbee’s to the shields and connect them via USB.
5. Take the ATMEGA328 chip off the Arduino so there is a direct link between the computer and the Xbee radio.
6. Configure them in XCTU (default settings will work).
7. From here i built my own PCB (I'm not going to touch on how to do that, there are other very good tutorial out there)  I used the data sheet for the sensors from this site, this is also where i got these sensors:
http://www.sparkfun.com/products/8606

8.From here i put all the boards together and tested it out to see if everything worked (powered on).
9. I sewed the flex sensors onto the glove by poking a hole at top and running the string over and under the sensor so it can still freely move.
10. i built the arm band with some elastically and some STRONG double sided tape.

Step 4: The Hand!

IMG_1432.JPG
IMG_1433.JPG
IMG_1435.JPG
IMG_1436.JPG

Materials:
electrical wire tubes (http://www.instructables.com/id/Simple-Animatronics-robotic-hand/)
fishing tackle
electrical tape
LEGOS
5 servos
xbee w/ shield
arduino ATMEGA 328
exact o knife

This took the longest to build...

1. I researched hands and found a diagram where the joints are.
2. I then cut the joints with the exacto knife
3. I put all the fingers together without the thumb.
4. i put the four fingers together and reinforced them with legos
5. i taped the securely and put the thumb over those so it would have human like flex.
6. i taped the servos together filling the spaces with Styrofoam
7. i added all 5 servos to the hand with legos and tape
8. I built the circuit on a breadboard with just delivering power the servos and having the control wires into the Digital input on the arduino
9. i ran fishing tackle from the finger tip through the tube and anchored it onto the servo



Step 5: Hand PCB Shield


For the hand i am still in the process in building a pcb to take away the wires and reduce space. This time i am using to toner transfer method. I again made the schematic and board layout in EAGLE CAD. i used magazine paper to print onto. I engineered this to be used as a shield on the arduino.

Step 6: CODE!!!

index closed.jpg

The Very first thing you want to do is make sure your shield or xbee's are unplugged from the arduino. Or make sure the correct jumpers are the in the right place (in my case). I have written this code and if you do use it want credit.

This is the code for the sending Arduino:

int Finger1 = 0;
int Finger2 = 1;
int Finger3 = 2;
int Finger4 = 3;
int Finger5 = 4;

void setup()
{
Serial.begin(9600);
}

void loop()
{
byte servoValue1;
byte servoValue2;
byte servoValue3;
byte servoValue4;
byte servoValue5;

int FingerV1 = analogRead(Finger1);
int FingerV2 = analogRead(Finger2);
int FingerV3 = analogRead(Finger3);
int FingerV4 = analogRead(Finger4);
int FingerV5 = analogRead(Finger5);

if (FingerV1 < 200) FingerV1 = 200;
else if (FingerV1 > 460) FingerV1 = 460;
if (FingerV2 < 200) FingerV2 = 200;
else if (FingerV2 > 460) FingerV2 = 460;
if (FingerV3 < 200) FingerV3 = 200;
else if (FingerV3 > 460) FingerV3 = 460;
if (FingerV4 < 200) FingerV4 = 200;
else if (FingerV4 > 460) FingerV4 = 460;
if (FingerV5 < 200) FingerV5 = 200;
else if (FingerV5 > 460) FingerV5 = 460;

byte servoVal1 = map(FingerV1,460, 200, 255, 0);
byte servoVal2 = map(FingerV2,460, 200, 255, 0);
byte servoVal3 = map(FingerV3,460, 200, 255, 0);
byte servoVal4 = map(FingerV4,460, 200, 255, 0);
byte servoVal5 = map(FingerV5,460, 200, 255, 0);

Serial.print(servoVal1);
Serial.print(servoVal2);
Serial.print(servoVal3);
Serial.print(servoVal4);
Serial.print(servoVal5);


delay(100);
}



Here is the receiving:

#include

Servo myservo1; // create servo object to control a servo
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;

void setup()
{
Serial.begin(9600);

myservo1.attach(2); // attaches the servo on pin 9 to the servo object
myservo2.attach(3);
myservo3.attach(4);
myservo4.attach(5);
myservo5.attach(6);
}

void loop()
{
if(Serial.available() >=5)
{
byte servoAng1 = Serial.read();
byte servoAng2 = Serial.read();
byte servoAng3 = Serial.read();
byte servoAng4 = Serial.read();
byte servoAng5 = Serial.read();


// Send the servo to the position read...  (note: you get to make this happen)
myservo1.write(servoAng1);
myservo2.write(servoAng2);
myservo3.write(servoAng3);
myservo4.write(servoAng4);
myservo5.write(servoAng5);
}
}


Step 7: How I Tested This

I did do this for science fair!

Here is some of my work for it:

So pretty much what i did was take a HD video at 60 fps to get high resolution skills.i came up with three positions to test, fully extended, half extended and unextended. From here i went into geometers sketchpad and found the angle of each finger at each position for both hands. From here i was able to compare a real hand to my animatronic hand.

Step 8: Results


Upon conductions of the experiment, using the variables finger, angle, sensor value and position, the fallowing results were produced. During the first test I measured the angle relationship between my finger and the corresponding finger on the animatronic hand. I found that the index finger, middle finger, ring finger, and pinky all had about the same sensor value from the flex sensors. The thumb on the other hand was limited in movement compared to the other fingers, and therefore the sensor data was in a smaller range. I then came up with three positions to test, fully extended, half extended, and unextended. From here I created a video of all my fingers at these different positions. I then analyzed the videos through the use of editing software and found the angle of each finger at each position.
I then conducted the same procedure for the animatronic hand, finding the angle of each finger at each position in the process. I found that at the fully extended position the relationship between my finger and the corresponding finger on the animatronic hand was about a 20° difference. At half extended the relationship was the closest at about a 10° difference. At unextended I noticed the most difference with my fingers bending almost 30° more than the animatronic hand. The thumb was the most consistent finger with only about 10° difference on all three tests. Overall, the comparison of my hand compared to the animatronic hand was greater than I thought. The position with the greatest difference was fully flexed. What all this means is that the animatronic hand has a relationship with my hand.



Step 9: Awards!!


A few weeks ago i attended the regional science fair in Durango Colorado. The first award i won was 1st place in the Air Force Engineering. The second award i won was a Davin chi award which qualified me for the state competition in Fort Colins. The best award i won qualified me to go to the international science fair in LA for a week, all expense paid, to be an official observer. So i pretty much go to LA for a week and get to check out the sweet project whether i do good at state or not.


http://www.durangoherald.com/article/20110304/NEWS01/703049910/Hands-on-learning
1-40 of 52Next »
Archduke_ says: May 11, 2013. 7:00 PM
Mind linking to the parts you used? I think I'm going to make this my summer project. I've never done anything like this though, so knowing exactly what you used would help me suss out the rest of it.
CameronIzac says: Apr 30, 2013. 5:27 PM
What Arduino boards are you using for this project?
MrEdwards says: Apr 22, 2013. 8:51 PM
Amazing! I bet you had a massive smile on your face the first time this worked!!
cvolpe2 says: Apr 15, 2013. 1:46 AM
Very interesting project. Congratulations.
Do you think it is possible to make it less noisy gears?
McDaver says: Apr 10, 2013. 4:47 PM

Cool project!
If you can find an old power glove from years back they have the resisters in the fingers already, then add Wii or Sony Move controllers so the computer knows where your hands are. I have something called Raser Hydra controllers, my computer can track where they are and how far they turn in any direction. This would give you complete control of robotic hands or video games.
WhiteHatJake says: Jun 29, 2011. 3:53 AM
Is it possible to make a full-scale human body with the same principle as your Instructable?
mwolf2 in reply to WhiteHatJakeJun 29, 2011. 2:48 PM
Theoretically, yes, but I think overall you'd have to find some super strong servo's, some super strong yet flexible piping and alot of time to do it. but overall NO, you'd have to create a biped platform for it to move as a human, costing thousands.
WhiteHatJake in reply to mwolf2Jun 29, 2011. 9:08 PM
Oh, thanks for the answer.
McDaver in reply to WhiteHatJakeApr 10, 2013. 4:41 PM
Check out a video on you tube.
Search for 3d Printed humanoid.
The man has done amazing work building a humanoid robot with fantastic working hands and arms. His 3d files are free to download. He is also using Arduinos.
alvin_lee says: Mar 26, 2013. 6:57 AM
Very impressive project!
latman says: Feb 14, 2013. 5:55 PM
I built this as a high school kid in 1985, called it MARL - movement activated robotic limb. Submitted it to a National Science Comp, publicly displayed, and won, only to learn that commercially someone stole the idea and applied it. As a kid I had no power. Just saying watch what you put on FREE websites such as this. If you have a good idea, don't just tell the world, or you might loose control.

In 1985, I had a budget of $5, so used springs, fishing line, small dc motors from slot cars and a gardening glove. Electronics were a simple relay and transistor. Cutoff sensors in the fingers were aluminium foil...no servos , they costed $40 each back then!

Inventing is awesome, and you have done a nice job here njkl44.

Steve
turtledrake says: Jan 21, 2013. 4:10 PM
Love this project! It has inspired me to build my own with a different design--a nice challenge for me. I'd like to know, though, how much did you purchase the flex sensors for? I'm broke and looking for something that I don't have to spend a fortune on. Most of what I've found online has been around $13.
Don Kellogg says: Jan 12, 2013. 6:02 AM
Could some one please tell me what Xbee Shield and Modules I need to do this project. I've seen several different Xbee units and some have been discontinued.
adesai5 says: Dec 28, 2012. 9:25 AM
the receiving program for arduino is not compiling its giving and error can you help me with that please.....
ERROR:- ('Servo' does not name a type)
sketch_dec28a.ino: In function 'void loop()':
sketch_dec28a:32: error: 'myservo1' was not declared in this scope
sketch_dec28a:33: error: 'myservo2' was not declared in this scope
sketch_dec28a:34: error: 'myservo3' was not declared in this scope
sketch_dec28a:35: error: 'myservo4' was not declared in this scope
sketch_dec28a:36: error: 'myservo5' was not declared in this scope
jinijinu says: Dec 4, 2012. 7:42 PM
amazing... how great!!!
drke124l says: Sep 2, 2012. 2:49 AM
Hey,
could u please tell me where u learned this??
Was it in school or by ourself?
mahmoudmorsy says: Aug 31, 2012. 5:03 AM
VERY GREEEAATTTT !! . I LOVED IT MAN . GOOD WORK ;)
loxagos_snake says: Oct 1, 2011. 3:17 AM
Hey...that was SO astonishing! Sorry for being out of topic, but this is kind of a career question...I am studying Physics but I always wanted to get into the bionics/cybernetics research area and I'm not sure if I'm in the right science. So I wanted to ask you, have you studied Electrical Engineering or another engineering principle? Or did you learn how to do this on your own?

Thank you, and again, great instructable!
njkl44 (author) in reply to loxagos_snakeMay 11, 2012. 3:12 PM
Sorry for the delay but I'm actually 16. I made this when I was 15 but I'm all self taught :)
acarballo in reply to njkl44May 13, 2012. 5:03 PM
Self taught? WOW could you share with us mortals where did you learn all this? im very interested in knowing of this.
vdemons says: Aug 3, 2011. 11:16 AM
Great tutorial, but what are the positive and negative poles on a flex sensor, i don't know which ones which?

Please and Thank you in Advance!
njkl44 (author) in reply to vdemonsMay 11, 2012. 3:11 PM
Sorry for the delay but there aren't really. As always try it for yourself and you'll learn tons more!!
Dr_Deelta says: Nov 8, 2011. 6:25 AM
very inspiring project thank you Easton for the great project you built. I'm definitely gonna build it for one of my friend who has only one hand>
May god help you and make your life easier and amazing>
All the best for you and for the great website .instructables.com
Caleb Nehrbass says: Oct 29, 2011. 3:29 AM
Next, make it walk on its index and middle fingers!!!
Hitm_n says: Oct 3, 2011. 8:36 PM
brainssss lol
javajunkie1976 says: Jul 6, 2011. 4:07 PM
Is there a way to build this without an Arduino?
ac1D says: Jul 6, 2011. 8:06 AM
How many of us can say they gave an handshake to their creation? Lol this is brilliant!
kalsara01 says: Jun 17, 2011. 8:10 AM
GREAT GREAT GREAT WORK........... hats off .. wel done pal
jensenr30 says: Jan 27, 2011. 8:59 AM
Add a video!
9ale7 in reply to jensenr30Jan 27, 2011. 4:22 PM
yes a video !!! ( and more pictures while it's in action)
:P
looks amazing !
njkl44 (author) in reply to 9ale7Jan 28, 2011. 4:25 PM
i am going to try this weekend or maybe next week
9ale7 in reply to njkl44Jan 28, 2011. 11:52 PM
will be waiting :)
njkl44 (author) in reply to 9ale7Feb 14, 2011. 5:17 PM
here a VIDEO!!!
mcmahanly in reply to njkl44May 20, 2011. 2:11 PM
camera? lens?

bduré says: May 15, 2011. 3:29 PM
not bad for your first one
thunderconan says: May 6, 2011. 12:13 PM
can you give me ur email pls ????
njkl44 (author) in reply to thunderconanMay 6, 2011. 3:57 PM
Sure thing its njkl44@gmail.com
joehudy says: Apr 19, 2011. 3:23 PM
were ded u get the flex sensorsand are thay expensiv
sorry abought spelling
mased007 says: Apr 18, 2011. 10:30 AM
When I get older I make this :) Thx for good idea.
TheGreatS says: Apr 15, 2011. 2:52 PM
could you place it on the ground, add some wheels to the back and make it crawl?
1-40 of 52Next »
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!