Robot Hand Project for My STEM Class

by Malakhi MIlls in Circuits > Arduino

76 Views, 0 Favorites, 0 Comments

Robot Hand Project for My STEM Class

52e8d33a-2960-4a91-aca0-a2f7ea001279.jpg

This project is a hand model inspired by Arduino - Make a Robotic Hand (Low Cost) from MertArduino


This is my class's final project and it's a robotic hand with moving fingers. The idea is that its made out of everyday materials that you could find in your home. Maybe excluding the Arduino and servo motors.

Supplies

thumbnail_original-55F6814C-3856-4C7B-9E57-52A710CC5103.jpg

Materials

  • x1 Styrofoam Sheet 1x2 ft.
  • x20 Rubber Bands
  • x1 Paper Clips
  • x1 Sanding Block
  • x1 Fishing Wire
  • x1 Sharpie
  • x1 Thick Metal Needle (Skewer)
  • x1 Exacto Knife
  • x1 Plyers
  • x1 Arduino
  • x2 Servo Motor

Taking Measurements

81b770de-dcf7-4b1d-9445-53290dc1ba80.jpg
7b9e46a8-7ec5-4190-85da-7b6e00d215cb.jpg
fdef6d0d-6ad8-4c74-a45e-009060a293cc.jpg
e45e60a9-1a47-49bb-bd78-0dce9fa344e3.jpg
e3bea3b8-eca2-4ebb-bc08-4dc3fe8c6796.jpg

First in taking your measurements you will need to find a way to record them, so i suggests taking a piece of paper or to open an excel sheet to have somewhere to keep all of your data for this project.

When measuring you will need the height of your fingers(how tall they are), the length(side to side) and the width(the thickness). Once you have your height, length, and width the next step is to take a Styrofoam sheet and use a ruler to make a rectangle on the Styrofoam using the exact measurements of your fingers. After the outline of the fingers are done now you measure the distance between your joints to create sections(E.x the distance between your Kunkle and the first joint on your finger.)

For the forearm and palm you don't have to have exact measurements you can just outline your palm and forearm. My hand was actually made in separate pieces because i misunderstood how the steps where in the original instructable by MertArduino.

Cuting Out the Hand

6a8a3296-c700-4641-9d5a-cfcf949d5bce.jpg
FRODZ64LX4P52F4.jpg
FPULS4TLX4P52FJ.jpg

Now that you have the outlines for the hand the next step is to start cutting out the parts. The first part of this step is to cut all of your fingers into rectangles. Once you are done with the fingers you can now cut out the palm and forearm while sticking to the outline.

Sanding the Fingers

057bc543-1d91-4f59-ba10-ceb118e7eed9.jpg
ed8bb0d1-2509-44af-b2fd-031627d47301.jpg

This step is about making the fingers more realistic. If you look at your own fingers they you can think of them as cylinders so we need to make the robots fingers cylinders as well. To make the finger cylinder we will be using a sanding block to sand down the rectangle form of the fingers. An important tip i can give you is to only sand in one direction.

Therefore sanding only up or only down, go around the whole finger until it looks like its about the same as your own finger, make sure to get the whole finger. Once all three parts together look like cylinders you now take the top section and start rounding the top to make it look like a finger tip.

Sanding the Forearm & Palm

131c7e74-c5c9-4b55-91d9-a44b691c322f.jpg
0e48b043-0737-4382-b2ac-8a8d2d5fb819.jpg

Now for sanding the palm and forearm you will sand the sharp edges to make them smooth so the design can flow more. The most important part in sanding the palm is trying to sand down the spot where the thumb rest. You will want to sand down the corner and make it into something like a crescent or quarter circle.

Turning the Fingers Into Sections

ce658e7e-91ca-41a7-be8c-9b6c79c2a229.jpg
truncated-cylinder.png
5acaa786-04ce-4939-80d4-9a4cdc0731d5.jpg

In this step you will take your robot's fingers and start to cut them into sections you will want to make the cuts depending on your personal finger measurements for the distances between finger joints. I recommend that you make the cut in the middle of where you finger joint will be.

After each sections is cut out now to take a the base section(in the photo its D1) and cut a 45 degree angle at the top to make it a truncated cylinder. For the middle section you will do the same thing, But you will also cut a 45 degree cut at the bottom of the section as well, therefore it will have two 45 degree angle cut in it. For the finger tip you will need to cut the 45 degree angle at the bottom(see to photos if not clear).

Threading the Fishing Wire

4ae20d8c-bfa1-4cbe-9dc5-22c5b9c01c29.jpg
e65119c1-0a45-4df4-b5c2-6d94417fcff4.jpg
8232a4d7-6db0-4c7c-84e3-ab6845959823.jpg
0e48b043-0737-4382-b2ac-8a8d2d5fb819.jpg
6f07e50a-4e18-429d-b4ed-c6c962a9d284.jpg
eeef7b63-5369-46d9-8cb2-9bc5e73eb6e2.jpg

This step is a really important step because it is the step that make the fingers actually move. The fingers move by a fishing wire pulling the sections of the fingers like a one of those string puppets. When installing the fishing wire you will need a sewing needle. With the wire, loop it into the needles hole for string. Once the wire is in, poke the needle through the base of the finger so that it pokes out from the top do the same thing for the middle and finger tip to connect the sections. Now that the string is in the finger, glue the wire to the fingertip so it doesn't fall out and make sure that there is enough fishing wire to reach the bottom of the forearm.

To attach the fingers to the palm take the needle and thread the bottom of the wire from the finger into the needle's string hole and pieres the palm with the needle going in at a 45 degree angle up. Thread the wire through the palm.

The next part of this step is to use a set of pliers and cut and bend paper clips into a horse shoe shape.You will use these paper clips to fasten and make kind of a path for the fishing wire and "the path" should go from the middle of the forearm to the side of the knuckles that is in the palm. Do this step for each of the fingers.(see to photos if not clear).

Making the Joints

76e78455-c272-4401-ac4c-00cc168019f1.jpg
1acbbf68-66a7-4306-88b6-80a62e87093f.jpg
a9f85a07-3241-4e9c-82c8-89d5f7881c9f.jpg
bc10b158-343a-47f9-ba17-1e42d0adcf17.jpg
07b7280c-aaba-4b08-a4f7-8c92c6f0e45a.jpg

The joints are also an important part because they are what connect the finger and what makes the fingers go back up after closing them. The joints are make out of rubber bands that were broken into rubber strips. the rubber strips go on the back of the fingers between two section of the finger making them connected.

The process of putting the rubber strips on is simple just put a little hot glue on each side of the finger sections and then gently place the rubber strip onto the glue and press down lightly. Put two rubber strips side by side in each joint and repeat until all of the fingers have the rubber strips on them.

Set Up of the Mechanics

The materials you need for this step is:

1x Arduino Uno

2x Servos

1x Connecter wire/or Power brick

1x Breadboard


The first thing you will want to do is connect the breadboard to the Arduino. Take a wire and put it going from the 5v in the Arduino to the negative side of the breadboard, then take a ground wire and put it in the positive side of the breadboard. Next you connect the positives and negatives of the Servos to the positives and negatives in the breadboard, and lastly you put the signal pin of the Servos into the Arduino's pins 10 and 11.

Now it's time for you to upload the code

l

l

V

-----------------------------------------------------------------------------------------------------------------


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


Servo thumb; //create a servo for the thumb

Servo pointer;// create a servo for the pointer

  

  

void setup()

{

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

 pointer.attach(10); //plugged into pin 10

}


void loop()

{

 pinch(); // do the pinch function

 delay(5000);

 reset(); // reset the fingers position

 delay(5000);

}


void pinch()

{

 thumb.write(180); //turn servo to 180 degrees

 pointer.write(180); //turn servo to 180 degrees

}


void reset()

{

 thumb.write(0); //turn servo back to 0 degrees

 pointer.write(0); //turn servo back to 0 degrees

}


-----------------------------------------------------------------------------------------------------------------



To connect the fishing wire to the servos you just thread the wire into one of the little holes that are in the servos top piece and tie a knot to keep it secure. It's important to make sure that the string is as tight as it can be while the fingers are in a open state.

In my project we only used two Servos for the thumb and pointer, because we only had enough Servos for each project to have two. what we did to fix the problem of what to do with the other fingers, is that we just made a manual pull cord for all three of the other fingers. You just pull the cord and all three of the fingers goes down.

Where to Put the Servos & Micro Controller

18ae6025-dad6-4530-8214-a3617b77b7a1.jpg
eb944deb-877a-4960-b6dc-f059d1443955.jpg
c6b9ce6d-4edf-494c-bd74-64df4aa02646.jpg
53e82646-81dc-4595-aa9c-f5fb5804c2d4.jpg
fade2ca0-a3a0-4bd3-80c9-56dae01cf5e2.jpg

You might want to make a base for the robot hand to rest on because you will need somewhere to put the Arduino. The Servos on the other hand can be hot glued to the bottom of the forearm.

The Final Product

FT5W37ELX4P5206.jpg
FXKF2U8LX64LQBI.jpg


Congratulations you made it to the end of the project!! If anyone in the future tries this project please feel free to share your robot hand with me. There is an extra step under this one if you are curious about the amount of Styrofoam waste produced while making this project.



click the text for a video of the hand working


click the text for a video of the hand working


click the text for a video of the hand working


click the text for a video of the hand working


How to Find Out How Much Materials You Wasted

To find out how much of the Styrofoam was wasted we made a python code to tell you the amount of waste. all you need to do is input the measurements needed.

Here's the link to python online ----> https://www.online-python.com/

To find out the waste you can copy and paste the code under into the online python.

-----------------------------------------------------------------------------------------------------------------



#PYTHON CODE FOR MATH


import math


#INDEX FINGER


sec1F1H = float(input("Enter height of section 1 of finger 1: "))

sec1F1L = float(input("Enter length of section 1 of finger 1: "))

sec1F1W = float(input("Enter width of section 1 of finger 1: "))

sec1F1R = float(input("Enter radius of section 1 of finger 1: "))


sec2F1H = float(input("Enter height of section 2 of finger 1: "))

sec2F1L = float(input("Enter length of section 2 of finger 1: "))

sec2F1W = float(input("Enter width of section 2 of finger 1: "))

sec2F1R = float(input("Enter radius of section 2 of finger 1: "))


sec3F1H = float(input("Enter height of section 3 of finger 1: "))

sec3F1L = float(input("Enter length of section 3 of finger 1: "))

sec3F1W = float(input("Enter width of section 3 of finger 1: "))

sec3F1R = float(input("Enter radius of section 3 of finger 1: "))


#MIDDLE FINGER


sec1F2H = float(input("Enter height of section 1 of finger 2: "))

sec1F2L = float(input("Enter length of section 1 of finger 2: "))

sec1F2W = float(input("Enter width of section 1 of finger 2: "))

sec1F2R = float(input("Enter radius of section 1 of finger 2: "))


sec2F2H = float(input("Enter height of section 2 of finger 2: "))

sec2F2L = float(input("Enter length of section 2 of finger 2: "))

sec2F2W = float(input("Enter width of section 2 of finger 2: "))

sec2F2R = float(input("Enter radius of section 2 of finger 2: "))


sec3F2H = float(input("Enter height of section 3 of finger 2: "))

sec3F2L = float(input("Enter length of section 3 of finger 2: "))

sec3F2W = float(input("Enter width of section 3 of finger 2: "))

sec3F2R = float(input("Enter radius of section 3 of finger 2: "))


#RING FINGER


sec1F3H = float(input("Enter height of section 1 of finger 3: "))

sec1F3L = float(input("Enter length of section 1 of finger 3: "))

sec1F3W = float(input("Enter width of section 1 of finger 3: "))

sec1F3R = float(input("Enter radius of section 1 of finger 3: "))


sec2F3H = float(input("Enter height of section 2 of finger 3: "))

sec2F3L = float(input("Enter length of section 2 of finger 3: "))

sec2F3W = float(input("Enter width of section 2 of finger 3: "))

sec2F3R = float(input("Enter radius of section 2 of finger 3: "))


sec3F3H = float(input("Enter height of section 3 of finger 3: "))

sec3F3L = float(input("Enter length of section 3 of finger 3: "))

sec3F3W = float(input("Enter width of section 3 of finger 3: "))

sec3F3R = float(input("Enter radius of section 3 of finger 3: "))


#PINKY FINGER


sec1F4H = float(input("Enter height of section 1 of finger 4: "))

sec1F4L = float(input("Enter length of section 1 of finger 4: "))

sec1F4W = float(input("Enter width of section 1 of finger 4: "))

sec1F4R = float(input("Enter radius of section 1 of finger 4: "))


sec2F4H = float(input("Enter height of section 2 of finger 4: "))

sec2F4L = float(input("Enter length of section 2 of finger 4: "))

sec2F4W = float(input("Enter width of section 2 of finger 4: "))

sec2F4R = float(input("Enter radius of section 2 of finger 4: "))


sec3F4H = float(input("Enter height of section 3 of finger 4: "))

sec3F4L = float(input("Enter length of section 3 of finger 4: "))

sec3F4W = float(input("Enter width of section 3 of finger 4: "))

sec3F4R = float(input("Enter radius of section 3 of finger 4: "))


#Thumb


sec1F5H = float(input("Enter the height of section 1 of finger 5: "))

sec1F5L = float(input("Enter the length of section 1 of finger 5: "))

sec1F5W = float(input("Enter the width of section 1 of finger 5: "))

sec1F5R = float(input("Enter the radius of section 1 of finger 5: "))


sec2F5H = float(input("Enter the height of section 2 of finger 5: "))

sec2F5L = float(input("Enter the length of section 2 of finger 5: "))

sec2F5W = float(input("Enter the width of section 2 of finger 5: "))

sec2F5R = float(input("Enter the radius of section 2 of finger 5: "))


#3d rectangle of finger parts


RVs1F1 = sec1F1H * sec1F1L * sec1F1W

RVs2F1 = sec2F1H * sec2F1L * sec2F1W

RVs3F1 = sec3F1H * sec3F1L * sec3F1W


RVs1F2 = sec1F2H * sec1F2L * sec1F2W

RVs2F2 = sec2F2H * sec2F2L * sec2F2W

RVs3F2 = sec3F2H * sec3F2L * sec3F2W


RVs1F3 = sec1F3H * sec1F3L * sec1F3W

RVs2F3 = sec2F3H * sec2F3L * sec2F3W

RVs3F3 = sec3F3H * sec3F3L * sec3F3W


RVs1F4 = sec1F4H * sec1F4L * sec1F4W

RVs2F4 = sec2F4H * sec2F4L * sec2F4W

RVs3F4 = sec3F4H * sec3F4L * sec3F4W


RVs1F5 = sec1F5H * sec1F5L * sec1F5W

RVs2F5 = sec2F5H * sec2F5L * sec2F5W


#Cylinder of finger parts


CVs1F1 = math.pi * (sec1F1R**2) * sec1F1H

CVs2F1 = math.pi * (sec2F1R**2) * sec2F1H

CVs3F1 = math.pi * (sec3F1R**2) * sec3F1H


CVs1F2 = math.pi * (sec1F2R**2) * sec1F2H

CVs2F2 = math.pi * (sec2F2R**2) * sec2F2H

CVs3F2 = math.pi * (sec3F2R**2) * sec3F2H


CVs1F3 = math.pi * (sec1F3R**2) * sec1F3H

CVs2F3 = math.pi * (sec2F3R**2) * sec2F3H

CVs3F3 = math.pi * (sec3F3R**2) * sec3F3H


CVs1F4 = math.pi * (sec1F4R**2) * sec1F4H

CVs2F4 = math.pi * (sec2F4R**2) * sec2F4H

CVs3F4 = math.pi * (sec3F4R**2) * sec3F4H


CVs1F5 = math.pi * (sec1F5R**2) * sec1F5H

CVs2F5 = math.pi * (sec2F5R**2) * sec2F5H


#SemiSPHERE VOLUME


SemiSphVF1 = (math.pi * (4/3) * (sec1F1R**3)) / 2

SemiSphVF2 = (math.pi * (4/3) * (sec1F2R**3)) / 2

SemiSphVF3 = (math.pi * (4/3) * (sec1F3R**3)) / 2 

SemiSphVF4 = (math.pi * (4/3) * (sec1F4R**3)) / 2 

SemiSphVF5 = (math.pi * (4/3) * (sec1F5R**3)) / 2


SemiSphVTTF1 = CVs1F1 + SemiSphVF1 

SemiSphVTTF2 = CVs1F2 + SemiSphVF2

SemiSphVTTF3 = CVs1F3 + SemiSphVF3

SemiSphVTTF4 = CVs1F4 + SemiSphVF4

SemiSphVTTF5 = CVs1F5 + SemiSphVF5


sec1F1H2 = float(input("Enter height 2 for section 1 finger 1: "))

sec2F1H2 = float(input("Enter height 2 for section 2 finger 1: "))

sec3F1H2 = float(input("Enter height 2 for section 3 finger 1: "))


sec1F2H2 = float(input("Enter height 2 for section 1 finger 2: ")) 

sec2F2H2 = float(input("Enter height 2 for section 2 finger 2: "))

sec3F2H2 = float(input("Enter height 2 for section 3 finger 2: "))


sec1F3H2 = float(input("Enter height 2 for section 1 finger 3: "))

sec2F3H2 = float(input("Enter height 2 for section 2 finger 3: "))

sec3F3H2 = float(input("Enter height 2 for section 3 finger 3: "))


sec1F4H2 = float(input("Enter height 2 for section 1 finger 4: "))

sec2F4H2 = float(input("Enter height 2 for section 2 finger 4: "))

sec3F4H2 = float(input("Enter height 2 for section 3 finger 4: "))


sec1F5H2 = float(input("Enter height 2 for section 1 finger 5: "))

sec2F5H2 = float(input("Enter height 2 for section 2 finger 5: "))


TruncatedCVs1F1 = ((sec1F1R**2) * math.pi * (sec1F1H + sec1F1H2)) / 2

TruncatedCVs2F1 = ((sec2F1R**2) * math.pi * (sec2F1H + sec2F1H2)) / 2 

TruncatedCVs3F1 = ((sec3F1R**2) * math.pi * (sec3F1H + sec3F1H2)) / 2

TTruncatedCVs2F1 = TruncatedCVs2F1 - (CVs2F1 - TruncatedCVs2F1) #TOTAL CODE FOR SEC2 DOUBLE TRUNCATE


TruncatedCVs1F2 = ((sec1F2R**2) * math.pi * (sec1F2H + sec1F2H2)) / 2

TruncatedCVs2F2 = ((sec2F2R**2) * math.pi * (sec2F2H + sec2F2H2)) / 2 

TruncatedCVs3F2 = ((sec3F2R**2) * math.pi * (sec3F2H + sec3F2H2)) / 2

TTruncatedCVs2F2 = TruncatedCVs2F2 - (CVs2F2 - TruncatedCVs2F2)


TruncatedCVs1F3 = ((sec1F3R**2) * math.pi * (sec1F3H + sec1F3H2)) / 2

TruncatedCVs2F3 = ((sec2F3R**2) * math.pi * (sec2F3H + sec2F3H2)) / 2 

TruncatedCVs3F3 = ((sec3F3R**2) * math.pi * (sec3F3H + sec3F3H2)) / 2

TTruncatedCVs2F3 = TruncatedCVs2F3 - (CVs2F3 - TruncatedCVs2F3)


TruncatedCVs1F4 = ((sec1F4R**2) * math.pi * (sec1F4H + sec1F4H2)) / 2

TruncatedCVs2F4 = ((sec2F4R**2) * math.pi * (sec2F4H + sec2F4H2)) / 2 

TruncatedCVs3F4 = ((sec3F4R**2) * math.pi * (sec3F4H + sec3F4H2)) / 2

TTruncatedCVs2F4 = TruncatedCVs2F4 - (CVs2F4 - TruncatedCVs2F4)


TruncatedCVs1F5 = ((sec1F5R**2) * math.pi * (sec1F5H + sec1F5H2)) / 2

TruncatedCVs2F5 = ((sec2F5R**2) * math.pi * (sec2F5H + sec2F5H2)) / 2


#(WASTE)


Ws1F1 = RVs1F1 - CVs1F1

Ws2F1 = RVs2F1 - CVs2F1

Ws3F1 = RVs3F1 - CVs3F1


Ws1F2 = RVs1F2 - CVs1F2

Ws2F2 = RVs2F2 - CVs2F2

Ws3F2 = RVs3F2 - CVs3F2


Ws1F3 = RVs1F3 - CVs1F3

Ws2F3 = RVs2F3 - CVs2F3

Ws3F3 = RVs3F3 - CVs3F3


Ws1F4 = RVs1F4 - CVs1F4

Ws2F4 = RVs2F4 - CVs2F4

Ws3F4 = RVs3F4 - CVs3F4


Ws1F5 = RVs1F5 - CVs1F5

Ws2F5 = RVs2F5 - CVs2F5


WTs1F1 = CVs1F1 - TruncatedCVs1F1

WTs2F1 = CVs2F1 - TTruncatedCVs2F1

WTs3F1 = CVs3F1 - TruncatedCVs3F1


WTs1F2 = CVs1F2 - TruncatedCVs1F2

WTs2F2 = CVs2F2 - TTruncatedCVs2F2

WTs3F2 = CVs3F2 - TruncatedCVs3F2


WTs1F3 = CVs1F3 - TruncatedCVs1F3

WTs2F3 = CVs2F3 - TTruncatedCVs2F3

WTs3F3 = CVs3F3 - TruncatedCVs3F3


WTs1F4 = CVs1F4 - TruncatedCVs1F4

WTs2F4 = CVs2F4 - TTruncatedCVs2F4

WTs3F4 = CVs3F4 - TruncatedCVs3F4


WTs1F5 = CVs1F5 - TruncatedCVs1F5

WTs2F5 = CVs2F5 - TruncatedCVs2F5


#total formulas 


FINGER1RV = RVs1F1 + RVs2F1 + RVs3F1

FINGER2RV = RVs1F2 + RVs2F2 + RVs3F2

FINGER3RV = RVs1F3 + RVs2F3 + RVs3F3

FINGER4RV = RVs1F4 + RVs2F4 + RVs3F4

FINGER5RV = RVs1F5 + RVs2F5


FINGER1CV = CVs1F1 + CVs2F1 + CVs3F1

FINGER2CV = CVs1F2 + CVs2F2 + CVs3F2

FINGER3CV = CVs1F3 + CVs2F3 + CVs3F3

FINGER4CV = CVs1F4 + CVs2F4 + CVs3F4

FINGER5CV = CVs1F5 + CVs2F5


FINGER1V = TruncatedCVs1F1 + TTruncatedCVs2F1 + TruncatedCVs3F1

FINGER2V = TruncatedCVs1F2 + TTruncatedCVs2F2 + TruncatedCVs3F2

FINGER3V = TruncatedCVs1F3 + TTruncatedCVs2F3 + TruncatedCVs3F3

FINGER4V = TruncatedCVs1F4 + TTruncatedCVs2F4 + TruncatedCVs3F4

FINGER5V = TruncatedCVs1F5 + TruncatedCVs2F5 



TTWASTE = Ws1F1 + Ws2F1 + Ws3F1 + Ws1F2 + Ws2F2 + Ws3F2 + Ws1F3 + Ws2F3 + Ws3F3 + Ws1F4 + Ws2F4 + Ws3F4 + Ws1F5 + Ws2F5 + WTs1F1 + WTs2F1 + WTs3F1 + WTs1F2 + WTs2F2 + WTs3F2 + WTs1F3 + WTs2F3 + WTs3F3 + WTs1F4 + WTs2F4 + WTs3F4 + WTs1F5 + WTs2F5 


#display the answers


#finger 1

print(" ")

print(" ")

print("The total volume of finger 1 with truncated cylinder is: {0:.3f}".format(FINGER1V))

print(" ")

print("The total volume of finger 1 rectangle is: {0:.3f}".format(FINGER1RV))

print("The total volume of section 1 finger 1 rectangle: {0:.3f}".format(RVs1F1))

print("The total volume of section 2 finger 1 rectangle: {0:.3f}".format(RVs2F1))

print("The total volume of section 3 finger 1 rectangle: {0:.3f}".format(RVs3F1))

print(" ")

print("The total volume of finger 1 cylinder is: {0:.3f}".format(FINGER1CV))

print(" ")

print("The total volume of section 1 finger 1 cylinder: {0:.3f}".format(CVs1F1))

print("The total volume of section 2 finger 1 cylinder: {0:.3f}".format(CVs2F1))

print("The total volume of section 3 finger 1 cylinder: {0:.3f}".format(CVs3F1))

print(" ")


#finger 2

print("The total volume of finger 2 with truncated cylinder is: {0:.3f}".format(FINGER2V))

print(" ")

print("The total volume of finger 2 rectangle is: {0:.3f}".format(FINGER2RV))

print("The total volume of section 1 finger 2 rectangle: {0:.3f}".format(RVs1F2))

print("The total volume of section 2 finger 2 rectangle: {0:.3f}".format(RVs2F2))

print("The total volume of section 3 finger 2 rectangle: {0:.3f}".format(RVs3F2))

print(" ")

print("The total volume of finger 2 cylinder is: {0:.3f}".format(FINGER2CV))

print(" ")

print("The total volume of section 1 finger 2 cylinder: {0:.3f}".format(CVs1F2))

print("The total volume of section 2 finger 2 cylinder: {0:.3f}".format(CVs2F2))

print("The total volume of section 3 finger 2 cylinder: {0:.3f}".format(CVs3F2))

print(" ")

#finger 3

print("The total volume of finger 3 with truncated cylinder is: {0:.3f}".format(FINGER3V))

print(" ")

print("The total volume of finger 3 rectangle is: {0:.3f}".format(FINGER3RV))

print("The total volume of section 1 finger 3 rectangle: {0:.3f}".format(RVs1F3))

print("The total volume of section 2 finger 3 rectangle: {0:.3f}".format(RVs2F3))

print("The total volume of section 3 finger 3 rectangle: {0:.3f}".format(RVs3F3))

print(" ")

print("The total volume of finger 3 cylinder is: {0:.3f}".format(FINGER3CV))

print(" ")

print("The total volume of section 1 finger 3 cylinder: {0:.3f}".format(CVs1F3))

print("The total volume of section 2 finger 3 cylinder: {0:.3f}".format(CVs2F3))

print("The total volume of section 3 finger 3 cylinder: {0:.3f}".format(CVs3F3))

print(" ")


#finger 4

print("The total volume of finger 4 with truncated cylinder is: {0:.3f}".format(FINGER4V))

print(" ")

print("The total volume of finger 4 rectangle is: {0:.3f}".format(FINGER4RV))

print("The total volume of section 1 finger 4 rectangle: {0:.3f}".format(RVs1F4))

print("The total volume of section 2 finger 4 rectangle: {0:.3f}".format(RVs2F4))

print("The total volume of section 3 finger 4 rectangle: {0:.3f}".format(RVs3F4))

print(" ")

print("The total volume of finger 4 cylinder is: {0:.3f}".format(FINGER1CV))

print(" ")

print("The total volume of section 1 finger 4 cylinder: {0:.3f}".format(CVs1F4))

print("The total volume of section 2 finger 4 cylinder: {0:.3f}".format(CVs2F4))

print("The total volume of section 3 finger 4 cylinder: {0:.3f}".format(CVs3F4))

print(" ")


#finger 5

print("The total volume of finger 5 with truncated cylinder is: {0:.3f}".format(FINGER5V))

print(" ")

print("The total volume of finger 5 rectangle is: {0:.3f}".format(FINGER5RV))

print("The total volume of section 1 finger 5 rectangle: {0:.3f}".format(RVs1F5))

print("The total volume of section 2 finger 5 rectangle: {0:.3f}".format(RVs2F5))

print(" ")

print("The total volume of finger 5 cylinder is: {0:.3f}".format(FINGER5CV))

print(" ")

print("The total volume of section 1 finger 5 cylinder: {0:.3f}".format(CVs1F5))

print("The total volume of section 2 finger 5 cylinder: {0:.3f}".format(CVs2F5))

print(" ")


#waste volume

print("The waste produced by section 1 finger 1 is: {0:.3f}".format(Ws1F1))

print("The waste produced by section 2 finger 1 is: {0:.3f}".format(Ws2F1))

print("The waste produced by section 3 finger 1 is: {0:.3f}".format(Ws3F1))

print(" ")

print("The waste produced by section 1 finger 2 is: {0:.3f}".format(Ws1F2))

print("The waste produced by section 2 finger 2 is: {0:.3f}".format(Ws2F2))

print("The waste produced by section 3 finger 2 is: {0:.3f}".format(Ws3F2))

print(" ")

print("The waste produced by section 1 finger 3 is: {0:.3f}".format(Ws1F3))

print("The waste produced by section 2 finger 3 is: {0:.3f}".format(Ws2F3))

print("The waste produced by section 3 finger 3 is: {0:.3f}".format(Ws3F3))

print(" ")

print("The waste produced by section 1 finger 4 is: {0:.3f}".format(Ws1F4))

print("The waste produced by section 2 finger 4 is: {0:.3f}".format(Ws2F4))

print("The waste produced by section 3 finger 4 is: {0:.3f}".format(Ws3F4))

print(" ")

print("The waste produced by section 1 finger 5 is: {0:.3f}".format(Ws1F5))

print("The waste produced by section 2 finger 5 is: {0:.3f}".format(Ws2F5))


#The truncated cylinder waste


print("The waste produced by section 1 finger 1 of the truncated cylinder is: {0:.3f}".format(WTs1F1))

print("The waste produced by section 2 finger 1 of the truncated cylinder is: {0:.3f}".format(WTs2F1))

print("The waste produced by section 3 finger 1 of the truncated cylinder is: {0:.3f}".format(WTs3F1))

print(" ")

print("The waste produced by section 1 finger 2 of the truncated cylinder is: {0:.3f}".format(WTs1F2))

print("The waste produced by section 2 finger 2 of the truncated cylinder is: {0:.3f}".format(WTs2F2))

print("The waste produced by section 3 finger 2 of the truncated cylinder is: {0:.3f}".format(WTs3F2))

print(" ")

print("The waste produced by section 1 finger 3 of the truncated cylinder is: {0:.3f}".format(WTs1F3))

print("The waste produced by section 2 finger 3 of the truncated cylinder is: {0:.3f}".format(WTs2F3))

print("The waste produced by section 3 finger 3 of the truncated cylinder is: {0:.3f}".format(WTs3F3))

print(" ")

print("The waste produced by section 1 finger 4 of the truncated cylinder is: {0:.3f}".format(WTs1F4))

print("The waste produced by section 2 finger 4 of the truncated cylinder is: {0:.3f}".format(WTs2F4))

print("The waste produced by section 3 finger 4 of the truncated cylinder is: {0:.3f}".format(WTs3F4))

print(" ")

print("The waste produced by section 1 finger 5 of the truncated cylinder is: {0:.3f}".format(WTs1F5))

print("The waste produced by section 2 finger 5 of the truncated cylinder is: {0:.3f}".format(WTs2F5))

print(" ")

print("The total volume of waste produced is: {0:.3f}".format(TTWASTE))