How to make a Bionic Finger

You will need:

What do these components do?

The Arduino Nano is a programmable circuit board and a piece of software, that using a program on your computer you can create and upload code onto.
The 3D printed finger parts, thin sheets of plastic and the fisherman's wire/string together will be used to create the physical finger and allow it to move.
The battery pack will be able to power the finger without having it to be connected to a computer as a power source.
The micro servo is a piece of equipment that with the flex sensor will turn to certain angles. With the wire/string attached to it, it can move the finger.
The wooden board is only there as a mount for the finger.
The glove is used to glue the flex sensor to, this way it can be easier to use the finger.

How to Assemble the Finger

  1. Using the thin plastic strip, cut it into small pieces that can be slotted between two finger pieces whilst still allowing for space in order for it to
  2. Using a hot glue gun, glue the finger parts together with the plastic strip.
  3. With the fisherman's wire, thread it through the holes in the 3D printed parts. Tie a knot at the end, and pull at the wire to test the manoeuvrability of the finger. Ensure that there is still some left over after this at the tugging end of the wire.
  4. After checking that the finger can bend like a human one will, glue it to a board.
  5. With the end of the wire, thread it through the holes on the spinning motor of the microservo.
  6. Once you have coded the finger and it moves if you have moved around your flexi sensor, glue the microservo to the board where the finger can still bend close and open.

The Code Behind the Finger

To download the Arduino IDE software,click here

In order for the finger to respond to movement and then move itself, you will need to upload lines of code into the arduino. Below there will also be a video explaining what the code performs. Below is the code that you will need to upload to the arduino:

#include Servo myservo;

void setup() { myservo.attach(9);

pinMode(A0, INPUT_PULLUP);

Serial.begin(9600);
}

void loop() {
int flexSensor = analogRead(A0);

int angle = (flexSensor - 400) / 2;

Serial.println(angle);

myservo.write(angle);

}