BREAKING NEWS

09 November 2015

Arduino Robotic Hand

In this tutorial we make a robotic hand (low cost) can replicate the movements of our hand.
We put sensors on the fingers of a glove downturn, we analyze the value of these sensors and servo motors move 180 ° pulling a wire connected to each finger of the robotic hand.
The electronic part consists then in creating a glove with sensors and a robotic hand with the five Servo motors.



The sensors of flexion (image above) are small flexible fingers that indicate the amount of bending to which they are subjected. Attaching them to the fingers of the glove we know exactly the movement of each finger.

When the sensor will be bending bent, the motor will move in proportion. 
We have already seen that with the command myservo.write (90); we can move our servant in any angle between 0 and 180 °. There is a command in the program Arduino that allows us to pass a value to the motor in proportion to that which occurs in the sensor. 
The sensor sends us a figure that is between 90 and 10. The motor needs a value between 0 and 180 . 
The command map performs the relationship between the two values. Ex: value = map (value, 90, 10, 0, 179);
The first two numbers refer to flex sensor while the other two to the servant. Based on the incoming number have an appropriate value to the motor. 
Try to load the code below to better understand the operation of the MAP command (or open the file_2_1_sensore_1_motore_val )
#include <Servo.h> 
Servo myservo; 
int index; 
void setup () { 
Serial.begin (9600); 
myservo.attach (9); // We attack the servant to pin 9


void loop () { 
index = analogRead ( A0); 
Serial.print ("original value"); 
Serial.println (index) 
index = map (index, 90, 10, 0, 179); 
myservo.write (index); 
Serial.print ("scaled value : "); 
Serial.println (index); // We print the original value of the sensor and then modified by the map command to

delay (150); 
}
If we bend the motor moves the sensor and pull the thread to which you connect the finger of the robotic hand. 
We begin to realize the glove and the robotic hand. 
We take a glove and attach the sensor on the index finger. The best way to fix it is to sew it or secure it with electrical tape. 
If you can weld the long electric cable to the sensor and link to them with Arduino. 
We're still making a very basic prototype, once you understand the operation and the amount of leads that we'll use to mount the final glove.
robot_hand_1
With diagram weld five red wires to the positive pins of the sensor deflection. The ends of the red cables must be welded together on the back of his hand. To 5 wires, we are adding a longer one that connect to pin 5V Arduino.
flex_sensor_5_dita_nero
Take 5 small wires blacks and weld them to the other end of the sensor deflection. For every black cable we must be welded resistance. At the other end of the resistance weld wire 5 other blacks who join the center of the hand. From the latter part of a last longest black wire that we insert into Pin GND Arduino.
flex_sensor_5_dita_giallo
Now we have to connect 5 wires long yellow. Each yellow wire has to be paid in the first end of the resistance and must be connected to the analog pin of Arduino. Each of the yellow wires will end then on pins A0, A1, A2, A3 and A4. These wires will be sending to the Arduino each sensor flex.
flex_sensor_5_dita_bb
robot_hand_arduino
glove-interactive
Now for the robotic hand. 
Make the hand is the hardest part of the entire tutorial. 
Stumble this tutorial (click here) realized very well. The purpose is to create a hand with fingers connected to electrical wires. When the motor pulls the wire, the finger bends. 
If you do not want to build the robotic hand alone can buy this toy 4M: 
Robotic Hand Kit - www.amazon.com/4M-3774-Robotic-Hand-Kit/dp/ B005MK0OPO
robot_hand_4m
Once installed just connect the various threads to 5 scooters. 
The realization of the hand I leave it to your imagination. 
Below are some pictures of the robotic hand made ​​with a wooden frame and the fingers of the toy presented above. 
It is the key part of the hand. The five motors must not move (glue them to the wooden dowels or screws to secure them with metal bars). 
With the fishing line to connect each motor finger built and assemble the electronics of 5 scooters.
mano_robotica
mano_robotica_arduino
mano_robotica2
mano_robotica_guanto-Arduino
(Open the sketc _4_tutti_sensori_tutti_motori_val)
Below is the complete code to handle sensors 5 and 5 scooters. 
The inputs to the MAP command, for example. map (thumb, 20, 40, 0, 179) 
may vary depending on your sensor, your resistance, the type of scooters, etc ... 
I recommend you to experiment by changing the numbers until you find the right compromise between movement glove and response of the robotic hand.
#include <Servo.h> 
Servo myservo_pollice; 
Servo myservo_indice; 
Servo myservo_medio; 
Servo myservo_anulare; 
Servo myservo_mignolo; 
int inch, 
int index, 
int average; 
int ring; 
int little finger;
void setup () { 
Serial.begin(9600); 
myservo_pollice.attach(9); 
myservo_indice.attach(10); 
myservo_medio.attach(11); 
myservo_anulare.attach(12); 
myservo_mignolo.attach(13); 
}
void loop () { 
inch = analogRead (A0); 
analogRead index = (A1); 
mean = analogRead (A2); 
ring = analogRead (A3); 
pinky = analogRead (A4); 
Serial.println (little finger);
thumb = map (thumb, 20, 40, 0, 179); 
index = map (index, 20, 40, 0, 179); 
mean = map (average, 20, 40, 0, 179); 
ring = map (ring , 20, 40, 0, 179); 
= map little finger (little finger, 20, 40, 0, 179);
myservo_pollice.write(pollice); 
myservo_indice.write(indice); 
myservo_medio.write(medio); 
myservo_anulare.write(anulare); 
myservo_mignolo.write(mignolo);
delay (150); 
}






Share this:

1 comment :

 
Back To Top
Distributed By Blogger Templates | Designed By OddThemes