• Button A = Open and close all fingers and thumb
together
• Set slow speed
• Close the four fingers at the same time
• Swivel thumb up and close it
• Open thumb and swivel down
• Open the four fingers at the same time
• Button B = Move each finger then thumb
independently, slow then fast
• Set slow speed
• Close and open finger one
• Close and open finger two
• Close and open finger three
• Close and open finger four
• Swivel thumb up, close and open, swivel down
• Set fast speed
• Close and open finger one
• Close and open finger two
• Close and open finger three
• Close and open finger four
• Swivel thumb up, close and open, swivel down
• Button C = Finger and thumb pinch — “precision”
grip of something
• Set slow speed
• Swivel thumb up
• Close finger one and thumb at the same time
• Open finger one and thumb at the same time
• Swivel thumb down
• Button D = Close and open fingers and thumb
alternately and fast
• Set fast speed
• Close and open finger one and finger four at the
same time
• Close and open finger two and finger three at
the same time
• Close and open finger one and finger three at
the same time
• Close and open finger two and finger four at the
same time
After attaching the tendon string to the first finger and
threading it through all the eyelets, I would pull the other
end of the string — which closed the finger — across a piece
of paper and would mark the position of the end of the
string. Then, after releasing the string with the finger
returning to open, again I marked the end of the string on
the paper.
This allowed me to measure the distance the string
travelled, and therefore how far the servo needed to travel
to open and close each finger.
This measurement would be used to fine-tune the servo
travel angle in the code for each finger.
Using the example Arduino ‘sweep’ sketch, I connected
a single servo to the Arduino, secured it to the table
alongside the above measurements, and ran the program.
Watching the tip of the servo horn as it moved back
and forth, I could clearly see that the travel angle I needed
was a full 180 degree sweep. However, the length of the
servo horn was too short as it didn’t travel the full
horizontal distance needed. So, I made a small wood
extension for each servo horn and made sure the distance
they travelled once attached to the servo matched the
horizontal measurements (Figure 16)
With those key measurements done, it was time to
write some code. I started with the basics of attaching the
buttons to digital pins:
• buttonPinA = digital pin 13
• buttonPinB = digital pin 12
• buttonPinC = digital pin 7
• buttonPinD = digital pin 2
The servos were then connected to the Arduino as
follows:
• myservo1.attach( 11); Pinky finger attached to PWM
pin 11
• myservo2.attach( 10); Ring finger attached to PWM
pin 10
Figure 16. Servo horn extensions — used to increase
the servo travel angle horizontal distance — so fingers
could be fully closed and opened.
SERVO 08.2015 33