Robotic Hand

by nalan9394 in Circuits > Arduino

34 Views, 0 Favorites, 0 Comments

Robotic Hand

thumbnail_IMG_1608.jpg

This project is called The robotic hand, students in different classes were put into groups and were each assigned a role to make the robotic hand. This is a step by step on how you can make your very own robotic hand.

Supplies

thumbnail_IMG_1597.jpg

For our robotic hand, The supplies that were used were: Styrofoam, Elastics, Plier, Paperclips, Sharpie, Sand-block, Fishing line, Box cutter, Servo motors, Arduino Uno, Toothpick, A ruler, And marker.

Formulas

thumbnail_IMG_1598.jpg

First, we had the member with the biggest hand, place his hand on the Styrofoam and trace his hand/forearm.

Create rectangles before tracing the actual fingers and measure the width and length of it. This makes the fingers more accurate to shave down for Step 2.

Once the rectangles are traced out and outlined with marker on the Styrofoam you can move on to Step 2.

Slicing

thumbnail_IMG_1601.jpg
thumbnail_IMG_1600.jpg

Using a box cutter, slice around the forearm and cut around the rectangles that you've traced.

Once you've cut out all of the rectangles, grab your sanding box and start forming the rectangle into a finger by shaving down the corners. Make sure you don't shave it down too thin or way too thick. try to make it accurate to the tracer's finger's.

When you've shaped out all of your fingers, mark where the joints would be using a marker. When you've finished marking the joints, use a 45 degree cut to separate all 3 joints on every single finger.

Attaching

thumbnail_IMG_1599.jpg

When the joint's are separated it should look something like this.

Once every joint is detached and cut up, use the sewing needle to thread your fishing line through the hand.

Then you put it into the joints. To make sure the fishing line doesn't get out of place, insert your paperclips(as many as you need but not too much) into the wrists and let the fishing lines go through the gap of your paper clip.

Gluing

thumbnail_IMG_1602.jpg

Cut up the elastics into small pieces, but not too small. You can use as many as you need to support the finger.

Hot glue the elastic onto the joints of your fingers, this will allow the finger to bend once everything has been completed.

Once that is done, cut down two areas on the wrist so the servo motors can get glued down into it.

Finally, feed the fishing line through your servo motor. this will allow your fingers to have motion.

Motors and Programming

original-FF636E30-03DE-4958-962D-335F2B40B41F.jpeg

Your hand should look like this once you've finished putting the paperclips, elastics, fishing line, and servo motors in.

You should have a code (that works) written to allow your fingers to have movement.

The person that had the role to do the coding completed this step so i dont have much information for this part.

Lastly, connect your servos to your arduino and set up the code that will allow your hand to move.





Math Codes

import math


W = float(input("enter the width of the Rectangular prism: "))

L = float(input("enter the length of the Rectangular prism: "))

H = float(input("enter the height of the Rectangular prism: "))

RTC1 = float(input("enter radius of the first truncated cylinder: "))

H1TC1 = float(input("enter the height of the first truncated cylinder: "))

H2TC1 = float(input("enter the height of the first truncated cylinder: "))

RTC2 = float(input("enter radius of the second truncated cylinder: "))

H1TC2 = float(input("enter the height of the second truncated cylinder: "))

H2TC2 = float(input("enter the height of the second truncated cylinder: "))

RTC3 = float(input("enter radius of the third truncated cylinder: "))

H1TC3 = float(input("enter the height of the third truncated cylinder: "))

H2TC3 = float(input("enter the height of the third truncated cylinder: "))

RH = float(input("enter radius of the hemisphere: "))

HC = float(input("enter height of the the cylinder: "))





VRP = W * H * L

VTC1 = RTC1**2 * math.pi * (H1TC1+H2TC1)/ 2

VTC2 = RTC2**2 * math.pi * (H1TC2+H2TC2)/ 2

VTC3 = RTC3**2 * math.pi * (H1TC3+H2TC3)/ 2

HS = 2/3 * math.pi * RH**3

TV = VTC1 + VTC2 + VTC3 + HS

VWM = VRP - TV

VTC1H = VTC1 + HS

CWH = math.pi * RH**2 * HC + HS


print("Volume of the cylinder with heimisphere is %.2f" %CWH)

print("Volume of the truncated cylinder is %.2f" %VTC1)

print("Volume of the first truncated cylinder with heimsphere is %.2f" %VTC1H)

print("The amount of the waisted meterial is %.2f" %VWM)

print("Volume of the second truncated cylinder is %.2f" %VTC2)

print("Volume of the third truncated cylinder is %.2f" %VTC3)

print("Volume of the Rectangular prism is %.2f" %VRP)

print("The total Volume of the three truncated cylinder is %.2f" %TV)

print("The total Volume of the heimsphere is %.2f" %HS)

Tech Code

#include <Servo.h> //include the servo library

Servo thumb;//create a servo for the thumb

Servo pointer;

Servo middle;

Servo ring;

Servo pinky;


void setup()

{

 thumb.attach(3); //plugged into pin 3

 pointer.attach(5);//pin 5

 middle.attach(6);//pin 6

 ring.attach(9);//pin 9

 pinky.attach(10);//pin 10

}


void loop()//enter different hand commands

{

 five();

 

}


void T()

{

 thumb.write(0);

}


void P()

{

 pointer.write(0);

}


void M()

{

 middle.write(0);

}


void R()

{

 ring.write(0);

}


void P_I()

{

 pinky.write(0);

}


void thumbsUp()

{

 thumb.write(0);

 pointer.write(180);

 middle.write(180);

 ring.write(180);

 pinky.write(180);

}


void pinch()

{

 thumb.write(40);

 pointer.write(80);

 middle.write(0);

 ring.write(0);

 pinky.write(0);

}


void fist()

{

 thumb.write(180);

 pointer.write(180);

 middle.write(180);

 ring.write(180);

 pinky.write(180);

}


void peace()

{

 thumb.write(180);

 pointer.write(0);

 middle .write(0);

 ring.write(180);

 pinky.write(180);

}

void shaka()

{

 thumb.write(0);

 pointer.write(180);

 middle.write(180);

 ring.write(180);

 pinky.write(0);

}

void rocknroll()

{

 thumb.write(0);

 pointer.write(0);

 middle.write(180);

 ring.write(180);

 pinky.write(0);

}

void fingergun()

{

 thumb.write(0);

 pointer.write(0);

 middle.write(180);

 ring.write(180);

 pinky.write(180);

}

void one()

{

 thumb.write(180);

 pointer.write(0);

 middle.write(180);

 ring.write(180);

 pinky.write(180);

}

void two()

{

 thumb.write(180);

 pointer.write(0);

 middle.write(0);

 ring.write(180);

 pinky.write(180);

}

void three()

{

 thumb.write(180);

 pointer.write(0);

 middle.write(0);

 ring.write(0);

 pinky.write(180);

}

void four()

{

 thumb.write(180);

 pointer.write(0);

 middle.write(0);

 ring.write(0);

 pinky.write(0);

}

void five()

{

 thumb.write(0);

 pointer.write(0);

 middle.write(0);

 ring.write(0);

 pinky.write(0);

}

void reset()

{

 thumb.write(0);

 pointer.write(0);

 middle.write(0);

 ring.write(0);

 pinky.write(0);

}

Reply

Reply all

Forward

Attendee panel closed




Final Outcome

thumbnail_IMG_1608.jpg

This is the final outcome of my group and i's project.

I would say it was confusing at first but then we got the hang of it.