2 Wearable Continuem Arm Limbs Using Fusing 360
by kikoASN in Workshop > 3D Printing
341 Views, 1 Favorites, 0 Comments
2 Wearable Continuem Arm Limbs Using Fusing 360
Hello my name is Ahmed Saied Nawar i am a grade 12 student at SAISD. This project is pretty easy to make but it took me a long time to build mainly because not everything was how I planned it but the instructions will make it very easy. In this instructables I will be showing you how to make 2 continuem arms that you can wear and will help you with basic tasks and allow youre life to be easier allowing you to preform certain tasks that you could not do before.
Supplies
so this project is a fairly easy here are the supplies
you will need:
- 3d printer
- 2 very strong servos
- 2 strong servos
- rope (leghnth depends on how long you want your arm to be )
- 2 arduinos (or 1 arduino and a external power supply )
- 2 breadboards ( or 1 bread board if using a external power supply )
- 2 r5 joysticks
- a gripper to attach to the end (you can build one or buy one )
- and a bunch of male to male jumper wires
- 2 springs
3d Printing the Parts
here are the parts that need to be printed
holder for continuem arm should be printed twice
as for the other 2:
continuem arm 22 has 3 hexagons with 4 holes
continuem arm 18 has 3 hinges you can chose how many times to print the i printed the sothat they are the same leghtn as my arm with the gripper attachedso it depends on you.
(also for the horns in the servos a just got 2 pieces of plastic to make them loonger and screwed then ont the servos.)
Assembiling the Arm
For this step it is a bit tedious but you basiclly print the same 2 pieces again, and again, and again untill youve reached a desighered length which will be decided by you.
I am going to tell you also in this step how I desgined it in case you want to change the desghn or improve it later on.
Basiclly I got a hexagon ( but you can use any shape the has 4 sides or more or you can use a circle) and I put 4 holes on each side of it.
then I attached the rope through all the holes on the arm to the servo motors
So I got the pieces and I started glueing them perpenducal to each other this would allow the arm to move up down left and right.
I attached the continuem arm to the end part of the holder.
And I attached servo motor 1 wich is the stronger one to the the top rope and I attached servo motor 2 wich is the weaker one to the left or right rope wich depends on what rope you attach the spring to because if the spiring pulls the arm to the right for example so the motor needs to be in the left.
And thats it for the arm part the reason I decided to use a continuem arm is because it is more flexible and all the electronics are at the begining o the arm.
repeat this step twice for 2 arms.
The Gripper
This was a easy step all I had to do was get 3 claws and attach them to a mechanisim that made them close, but I over complicated the printing proces by making the 3 claws flexible and able to adapt to watever the hold or pick up.
So I got a triangle and I made some points thinner than otheres where I wanted it to bend. Then i made a base with 3 poles and a trianlge that can go thou these pole with a place where you can put a screw through, then i attached springs to it to make it so it wants to stay open and the screw when turned is making it close. check the pictures if you dont understand. and make the holder depending on what servo motor you use
Attaching the Motors and Spring to the Holder
attatch the motors to the contiuem arm holders as seen in the picture above
also 3d print a block with a hole so that you can attach the spring to it. ( the hole and lenghth deoneds on the spring. )
Making It Wearable
You can choos how you want to do this eithere by using belts or rope it is up to you
if you want you can attach them to a backback.
Curcuit Diagram
here is the curcuit diagram
Code
#include
Servo servo1;
Servo servo2;
int x_key = A1;
int y_key = A0;
int x_pos;
int y_pos;
int servo1_pin = 8;
int servo2_pin = 9;
int initial_position = 90;
int initial_position1 = 90;
void setup ( ) {
Serial.begin (9600) ;
servo1.attach (servo1_pin ) ;
servo2.attach (servo2_pin ) ;
servo1.write (initial_position);
servo2.write (initial_position1);
pinMode (x_key, INPUT) ;
pinMode (y_key, INPUT) ;
}
void loop ( ) {
x_pos = analogRead (x_key) ;
y_pos = analogRead (y_key) ;
if (x_pos < 300){
if (initial_position < 10) { } else{ initial_position = initial_position - 20; servo1.write ( initial_position ) ; delay (100) ; } } if (x_pos > 700){
if (initial_position > 180)
{
}
else{
initial_position = initial_position + 20;
servo1.write ( initial_position ) ;
delay (100) ;
}
}
if (y_pos < 300){
if (initial_position1 < 10) { } else{ initial_position1 = initial_position1 - 20; servo2.write ( initial_position1 ) ; delay (100) ; } } if (y_pos > 700){
if (initial_position1 > 180)
{
}
else{
initial_position1 = initial_position1 + 20;
servo2.write ( initial_position1 ) ;
delay (100) ;
}
}
}