Let's Make Robots!

Robot Hand (finished)

Moves fingers, flips off everybody, plays my midi controller

 

I always wanted to make something that is not too hard, yet looks cool. Not long ago I saw Gareth's post about an Arduino Hand (http://letsmakerobots.com/node/22323) and it really got me inspired. So I decided to make one of my own, but instead of Arduino use my picaxe 28x1, instead of pre-made robotic hand use my own designed one (the one in Gareth's post, in fact, can be bought on ebay) and instead of using expensive servos once again push the limits of those cheap micro ones.

I used organic glass, 5 cheap micro servos, some thread I found at home and a tube I bought from a hardware store.

 Also, taught this little guy to play piano and produce some Drum and Bass :D (look at the video)

This is what I managed to do up till now, but I am also waiting for a few materials to arrive and then I am planning to make this hand controlled via glove:

 

________________________


Update: The controller.


Actually the project was finished more than a month ago, but I was too lazy to update the info at LMR.

 

The controller glove was made using 5 homemade bendsensors and picaxe 18m2 chip.

The bend sensors are made from resistive, conductive materials and a simple wire. If there'll be enough requests I will make a tutorial, but there are lots of them on the web, thus I do not really see a need for another one.

The principle is simple: When data is received from the five bend sensors it detects the different finger combination, therefore  sending a variable through the IR led to the robotic hand. The specific variable, that has been received on the hand controller then decides which finger conbination should be replicated on the robotic hand. Simple as that.

Due to the controller being more confortable, the board and other components were put into a small box. This little box can be clipped to wrist.

Few photos, as well as the video:

 
The robotic hand with a stand :                                              

        


Glove controller in the final stage:




short video:

http://www.4videosharing.com/video/45127/Robotic-hand-preview (sorry for the quality, I really need a new camera :/ )

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

can you please tell where you have place all those force sensor.....

and i could not find velostat anywhere can you suggest me for that...

thanks in advance

Has anyon written a code for a hand -glove combination like or from this example. I thought it would be a cool thing to do for my graduation project, and am in way over my head. I have no programming experience. I have gotten pretty far on the construction and am not sure what to do next.

please help me

thank you

do you know the product codes for the picaxe(s)?

Could you please be more specific? I did not understand the question here.

also, 

here is the new working code (adapt it to ur settings and values)

___________________________________________________________________________________________

 /*

 

 flex arduino to make a robot hand.

 

  animatronic hand using arduino

 

 */

 

 

 

 #include <Servo.h>      

 

 Servo servoMotor;

 Servo servoMotor1;

 Servo servoMotor2;

 Servo servoMotor3;

 Servo servoMotor4;  

 

 int analogPin = 0;      // finger 1

 

 int analogValue = 0;    

 

 int servoPin = 2;

 

 

 

 int analogPin2 = 1;      //finger 2      

 

 int analogValue2 = 0;    

 

 int servoPin2 = 3;

 

 

 

 int analogPin3 = 2;      //finger 3

 

 int analogValue3 = 0;    

 

 int servoPin3 = 4;

 

 

 

 int analogPin4 = 3;      //finger 4

 

 int analogValue4 = 0;    

 

 int servoPin4 = 5;

 

 

 

 int analogPin5 = 4;      

 

 int analogValue5 = 0;    

 

 int servoPin5 = 2;

 

 void setup() { 

 

   servoMotor.attach(servoPin); 

 

   servoMotor1.attach(servoPin1);

 

   servoMotor2.attach(servoPin2);

 

   servoMotor3.attach(servoPin3);

 

   servoMotor4.attach(servoPin4); 

 

  } 

 

 

 

 void loop() 

 

 { 

 

   analogValue = analogRead(analogPin);                 

 

   analogValue = map(analogValue, 0, 1023, 0, 179);     

 

   servoMotor.write(analogValue);                       

 

   delay(15);  

 

 

 

  analogValue2 = analogRead(analogPin2);                 

 

   analogValue2 = map(analogValue2, 0, 1023, 0, 179);     

 

   servoMotor1.write(analogValue2);                       

 

   delay(15);       

 

 

 

  analogValue3 = analogRead(analogPin3);                 

 

   analogValue3 = map(analogValue3, 0, 1023, 0, 179);     

 

   servoMotor2.write(analogValue3);                       

 

   delay(15);    

 

 

 

  analogValue4 = analogRead(analogPin4);                 

 

   analogValue4 = map(analogValue4, 0, 1023, 0, 179);     

 

   servoMotor3.write(analogValue4);                       

 

   delay(15);

 

 

   analogValue5 = analogRead(analogPin5);                 

 

   analogValue5 = map(analogValue5, 0, 1023, 0, 179);     

 

   servoMotor4.write(analogValue4);                       

 

   delay(15);

}

________________________________________________________________________________________

oops, i did'nt test the code. i wrote it quick and dirty. yes, i guess 1 of my sensors is not mapped to the servo.

and my flex sensor is uni-directional. also, my sensor gives values from 0 to 1024. it might be different for DIY flex sensors so i think you have to map the values in a different way. and, i have no idea about the picaxe code. i am a noob in picaxe but i think it should not be that hard

@ harsha_seventh

i have the code for 5 fingers. I am building a hand for a school fair.

i wrote the code for arduino. You can look at it if you are interested.

I will post the hand and make a tutorial for it as soon as i finish and tidy up my work(right now the whole thing is on a breadboard.haha)

________________________________________

 /*

 flex arduino to make a robot hand.

  animatronic hand using arduino

 */


 #include <Servo.h>      

 Servo servoMotor;       

 int analogPin = 0;      // finger 1

 int analogValue = 0;    

 int servoPin = 2;

 

 int analogPin2 = 1;      //finger 2      

 int analogValue2 = 0;    

 int servoPin2 = 3;

 

 int analogPin3 = 2;      //finger 3

 int analogValue3 = 0;    

 int servoPin3 = 4;

 

 int analogPin4 = 3;      //finger 4

 int analogValue4 = 0;    

 int servoPin4 = 5;

 

 int analogPin5 = 4;      

 int analogValue5 = 0;    

 int servoPin5 = 2;

 void setup() { 

   servoMotor.attach(servoPin); 

   servoMotor.attach(servoPin2);

   servoMotor.attach(servoPin3);

   servoMotor.attach(servoPin4);

   servoMotor.attach(servoPin5); 

  } 


 void loop() 

 { 

   analogValue = analogRead(analogPin);                 

   analogValue = map(analogValue, 0, 1023, 0, 179);     

   servoMotor.write(analogValue);                       

   delay(15);  


  analogValue2 = analogRead(analogPin2);                 

   analogValue2 = map(analogValue2, 0, 1023, 0, 179);     

   servoMotor.write(analogValue2);                       

   delay(15);       

   

  analogValue3 = analogRead(analogPin3);                 

   analogValue3 = map(analogValue3, 0, 1023, 0, 179);     

   servoMotor.write(analogValue3);                       

   delay(15);    

   

  analogValue4 = analogRead(analogPin4);                 

   analogValue4 = map(analogValue4, 0, 1023, 0, 179);     

   servoMotor.write(analogValue4);                       

   delay(15);    

 }

_______________________________________________


I am doing a hand-glove combo like this for my graduation project, and have no programming experience. 

how would you alter the codes for the picaxe components specified in this design?

which sensor you plan to install in the glove !

 

I used DIY bend sensors.