Arduino - Make a Robotic Hand (Low Cost)

31,923

154

17

Introduction: Arduino - Make a Robotic Hand (Low Cost)

About: Arduino, Raspberry Pi, esp8266, Tutorials, Projects

  • In this tutorial, we will learn how to make a robotic hand. And how to controlled it.
  • This video shows the low-cost "robotic hand" construction.
  • You can learn a working principle of a robotic hand.
  • We will control 5 servo motor robot hand with 5 pcs flex sensor.
  • I created the flexible sensors myself.
  • We will use external battery / power when doing this.

Step 1: Hardware Required

  • Flex Sensor (5 pcs) '

    I made the flex sensor myself

    '
  • Arduino Board -Servo Motor (5 pcs)
  • Foam (Like Styrofoam)
  • Glove
  • Wires (Jumper) and Breadboard
  • Battery and Battery Buckle
  • Rubber Band
  • Fishline or Wire
  • Glue Gun and Utility Knife

Step 2: Make a Flex Sensor

Flex sensors are passive resistive devices that can be used to detect bending or flexing. The flex sensor shown in this tutorial is a flex sensor that decreases its resistance in proportion to the amount it is bent in either direction.You can easily make a sensor wider and longer depending upon your project.

  • Paper
  • Flexible Cardboard or Plastic
  • Pencil
  • Aluminum Foil or Aluminum Tape
  • Wires
  • Hot Silicone or Solder

A 2.2 inch flex sensor can range in price from $ 10 to $ 50.

If we think that at least 5 flex sensors are used in a robotic hand project, the cost will be quite high.

Step 3: Creating the Hand

  • In the finger length, we cut the piece from the styrofoam.
  • We divide the piece we cut into 3 parts like finger joints.
  • We shape the sides of the square parts we cut with the help of sandpaper.
  • We tie each piece together using rubber. We must leave some space between each piece.
  • We drill all the pieces longitudinally with the help of a pointed rod.
  • From these holes we pass the wire to the top of the finger. And let's take the knot to keep the wire stable.
  • Let's cut a piece of foam as much as hand size.
  • Combine all fingers by hand.

  • Cut a piece of foam to mount the servo motors.

  • Connect all the finger wires to the servo motors.

Step 4: Creating the Glove

  • You can use an old glove for this.
  • We put the flex sensors we made on the glove fingers.
  • We fixed with glue or cable ties.
  • Note that you should not stick the sensors completely in the longitudinal direction. Intervals are good for comfortable movement of the sensor.

Step 5: Connection

  • The external battery VCC / GND connect to the breadboard.
  • The Arduino GND connect to the breadboard's GND input
  • The servo connections we use in this project are as follows;

Orange Input - Signal Input

Red Input - Power Input (VCC)

Brown Input - Ground Input(GND)

  • All servo motors VCC and GND connect to the breadboard's VCC / GND inputs.
  • The signal inputs of all servo motors are connect to the Arduino Digital PWM 3-5-6-9-10 respectively.
  • The sensors have two inputs. One is the GND line and the other is the signal (Analog) line. The signal line is connected to the VCC line by dividing with the help of a resistor.

Step 6: Code

  1. Get the Code (Only Copy and Paste)
  2. Add the Servo library
  3. Define Servos
  4. Define Flex Sensors
  5. Variable to read the values from the analog pin (flex sensors)
  6. Attaches our servos on pins PWM 3-5-6-9 to the servos
  7. Reads the value of flex sensors
  8. Scale it to use it with the servo (value between 0 and 180)
  9. Set the servo position according to the scaled value
  10. Upload the code

Arduino Contest 2016

Participated in the
Arduino Contest 2016

Be the First to Share

    Recommendations

    • Mason Jar Speed Challenge

      Mason Jar Speed Challenge
    • Bikes Challenge

      Bikes Challenge
    • Remix Contest

      Remix Contest

    17 Discussions

    0
    just 1 guy
    just 1 guy

    11 months ago

    does anyone have the code available to send me

    0
    foxradio5
    foxradio5

    Reply 10 months ago

    #include <Servo.h>

    Servo servo_1;
    Servo servo_2;
    Servo servo_3;
    Servo servo_4;
    Servo servo_5;

    int flex_1 = 0;
    int flex_2 = 1;
    int flex_3 = 2;
    int flex_4 = 3;
    int flex_5 = 4;

    void setup()

    {
    servo_1.attach(5);
    servo_2.attach(3);
    servo_3.attach(9);
    servo_4.attach(10);
    servo_5.attach(6);
    }
    void loop()
    {
    int flex_1_pos;
    int servo_1_pos;
    flex_1_pos = analogRead(flex_1);
    servo_1_pos = map(flex_1_pos, 1020, 1023, 180, 0);
    servo_1_pos = constrain(servo_1_pos, 0, 180);
    servo_1.write(servo_1_pos);

    int flex_2_pos;
    int servo_2_pos;
    flex_2_pos = analogRead(flex_2);
    servo_2_pos = map(flex_2_pos, 1020, 1023, 180, 0);
    servo_2_pos = constrain(servo_2_pos, 0, 180);
    servo_2.write(servo_2_pos);

    int flex_3_pos;
    int servo_3_pos;
    flex_3_pos = analogRead(flex_3);
    servo_3_pos = map(flex_3_pos, 1020, 1023, 180, 0);
    servo_3_pos = constrain(servo_3_pos, 0, 180);
    servo_3.write(servo_3_pos);

    int flex_4_pos;
    int servo_4_pos;
    flex_4_pos = analogRead(flex_4);
    servo_4_pos = map(flex_4_pos, 1020, 1023, 180, 0);
    servo_4_pos = constrain(servo_4_pos, 0, 180);
    servo_4.write(servo_4_pos);

    int flex_5_pos;
    int servo_5_pos;
    flex_5_pos = analogRead(flex_5);
    servo_5_pos = map(flex_5_pos, 1020, 1023, 180, 0);
    servo_5_pos = constrain(servo_5_pos, 0, 180);
    servo_5.write(servo_5_pos);
    }

    0
    just 1 guy
    just 1 guy

    Reply 9 months ago

    do you know if this works?

    0
    purushottamd3
    purushottamd3

    3 years ago

    i made this but servo is came to reest position and not moving any where.

    0
    ExperioN
    ExperioN

    Reply 2 years ago

    Is it worked now

    0
    purushottamd3
    purushottamd3

    Reply 2 years ago

    yah! it almost a year ago.i made my own code to get rid of itself.

    0
    just 1 guy
    just 1 guy

    Reply 10 months ago

    can u send me the code also

    0
    just 1 guy
    just 1 guy

    Reply 10 months ago

    i know this might be a little late though

    0
    PuspaLamichhane
    PuspaLamichhane

    Reply 1 year ago

    Can I get the code

    0
    purushottamd3
    purushottamd3

    Reply 1 year ago

    ok. as soon as i am free i'll upload it.

    0
    ExperioN
    ExperioN

    Question 2 years ago

    The video is deleted, can you please regain it for me plz my project is 19-6-2018plz plz plz plz

    0
    andreaskou3000
    andreaskou3000

    2 years ago

    that is such a cheap, simple but amazing idea.

    0
    darap89
    darap89

    3 years ago

    What kind of resistor did you use ?

    0
    Bpuls52
    Bpuls52

    Reply 2 years ago

    22k resistors. Color code is red, red, orange, gold. I found very cheap packs of 10 on Amazon.

    Link- https://www.amazon.com/Projects-10EP51222K0-22k-Resistors-Pack/dp/B0185FKB8M/ref=sr_1_3?ie=UTF8&qid=1511901034&sr=8-3&keywords=22k+resistor

    0
    RishadK2
    RishadK2

    2 years ago

    what is the value of resistor?

    0
    Bpuls52
    Bpuls52

    Reply 2 years ago

    22k resistors. Color code is red, red, orange, gold. I found very cheap packs of 10 on Amazon.

    Link- https://www.amazon.com/Projects-10EP51222K0-22k-Resistors-Pack/dp/B0185FKB8M/ref=sr_1_3?ie=UTF8&qid=1511901034&sr=8-3&keywords=22k+resistor