Ok well a week into making the software and many tests... We had a break!

It seems fishing line and super glue really is not a great combination (to stop the slipping of the line when the servo's move...)

Anyway... long story short... I have decided to dissasemble the arm, I am replacing the servos with MG90s servos all metal geared (not these cheapo blue 8g plastic ones, they shred pretty quick and overheat under stress)

I am also replacing the fishing line with some 1mm wire rope, if anything the fingers will break before this stuff does.

This is the rough GUI of the program im writing to interact with the hand in a fun way

I just found a nice source code for sending strings to the serial port, thats it really. You load the Arduino program to receive, when it gets a command like "grasp" it will then obviously use that sub to grasp the hand, all pretty basic.
Have to add the buttons now really, not much.. a little bit of work. Got sick last week and also started a new job, so time has been a bit tight for anything.

ddsc.jpg

The VS code looks like this pretty much, there isnt much to it..
Imports System.IO
Imports System.IO.Ports
Imports System.Threading

Public Class Form1

Shared _continue As Boolean
Shared _serialPort As SerialPort

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SerialPort1.Close()
SerialPort1.PortName = "com37" 'you need to check which com port your arduino is using, and change them if you need
SerialPort1.BaudRate = 9600
SerialPort1.DataBits = 8
SerialPort1.Parity = Parity.None
SerialPort1.StopBits = StopBits.One
SerialPort1.Handshake = Handshake.None
SerialPort1.Encoding = System.Text.Encoding.Default
End Sub
Private Sub btn90L_Click_1(sender As System.Object, e As System.EventArgs) Handles btn90L.Click
SerialPort1.Open()
SerialPort1.Write("0")
SerialPort1.Close()
End Sub
And on the Arduino side, you just upload this (it's incomplete, I figured everything out, got it working and then left it at the thumb, but this is a complete example, easy to modify and update)

#include <Servo.h>

//Assign Servo's (could be done in an array if you prefer)
Servo thumb;
Servo indexf;
Servo middlef;
Servo ringf;
Servo pinkyf;



void setup()
{
thumb.attach(9); // attaches the servo on pin 9 to the thumb servo
Serial.begin(9600); //begins serial communication
}

void loop()
{
int pos;

if (Serial.available()){
delay(100);

while(Serial.available()>0){

pos=Serial.read(); //reads the value sent from Visual Basic

if(pos=='0')
thumb.write(90); //rotates the servo 90 degrees (Left)
else if(pos=='1')
thumb.write(-90); //rotates the servo 90 degrees (right)
else if(pos=='2')
thumb.write(180); //rotates the servo 180 degrees (Left)
else if(pos=='3')
thumb.write(-180); //rotates the servo 180 degrees (right)
else if(pos=='4')
thumb.write(0); //center servo.



}
}
}

But probably the best thing that happened today.. my servo shipment arrived muwahahahahha.... I can now start constructing the new torso and head/neck/spine.

ddddc.jpg