Sketching Robot

About This Project
This is a three degree of freedom robotic arm with a pen holder as its end effector. You can code this robot to draw anything, write your name, sketch your face and much more.
Project Info
Programming Platform:
Difficulty:

Sketching Robot

Components Required

Components Required

ImageComponentQuantityAvailable in Kit
evive1

Introduction

This is a three degree of freedom robotic arm with a pen holder as its end effector. You can code this robot to draw anything, write your name, sketch your face and much more.

evive Robotic Arm

Story

Step 1:

Assembly

  • Mount servo horn on top inner bearing disc using self-threading M2 (“M2” represents a diameter of 2mm) screws of 8mm length. These screws can be found in servo accessories. Be careful about holes you are mounting the horn on (use holes closer to disk centre).

Mounitng Servo HormMounted servo Horn

  • Place 30 mm stand-offs on the base. Fasten using M3 bolts of 8mm length.

  • Take the bottom outer bearing disc and slide it over standoffs.

  •  Mount bottom inner bearing disc on stand-offs. Align the disc such that smaller holes are in line with the stand-offs.

  • Put the bearing on top of bottom inner bearing disc. Observe how disc supports the bearing from beneath.

  • Next, place the two middle inner bearing discs. These will perfectly fit inside the bearing.

  • Seat the “servo horn & top inner bearing disc” assembly on top of bearing as shown. Make sure all smaller holes in these discs are aligned since we will fasten them all together using 20mm M3 bolts.

Note1: Do understand that it was necessary to slide down the bottom outer bearing disc earlier. You won’t be able to do it now due to diameter differences.

Note2: Observe how the bearing has been clamped between the top and bottom inner bearing discs.
  • Place the middle outer bearing discs first and then top outer bearing disc as shown. The middle discs will have a larger inner diameter compared to the top and bottom ones. The inner diameters of the middle discs will be equal to the bearing’s outermost diameter.

  • Slide up the bottom outer bearing disc, align the holes in the discs and stack them.

Again, see how the bearing is sandwiched because the top and bottom bearing discs have a smaller inner diameter compared to the bearing’s outermost diameter.
  • Place 20 mm stand-offs on the top and fasten the M3 bolts of 20mm length from the bottom. Your base is completed now.

The base assembly should look like this upon completion.

  • Place servo motor into the slot available on racquet-shaped link 1. Be careful about the positioning and the orientation of the servo. Have a careful look at the illustrations.

evive Robotic Arm

  • Fasten the servo to the link using M4 bolts of 16mm length and nuts.

evive Robotic Armevive Robotic Arm

  •  In the figures, you see head of servo pointing upwards. Don’t let this confuse you; the head actually goes into the slot in the horn. We will come to this again, for now attach M3 bolts of 8mm length and 20mm standoffs to the link as shown in the illustrations below.

evive Robotic Arm

evive Robotic Arm

This is the orientation in which we will place the completed link upon our base. Note the free holes through which we will drive the screws to fix it to the base.
evive Robotic Arm
  •  Place this assembly on the base as shown & fasten using M3 bolts of 8mm length.

evive Robotic Arm

Keep in mind that you’ve set servo at 90 degrees before assembling (connect servo to evive, go to control > servo and set servo  at 90 degrees).
evive Robotic Arm
evive Robotic Arm
  • Observe how head of the servo goes into the servo horn. We have to ensure proper locking between servo head and servo horn. To do this, drive a bolt into centre of the horn (find this in servo accessories) through the bottom of the base (through the large hole) and fasten it.

evive Robotic Arm

It is important to ensure that your servo motor does not move vertically and exhibits only rotary motion while in operation.
  • Push the servo up the second slot in this link.

evive Robotic Arm

  • Fasten servo to the link using M4 bolts of 16mm length and M4 nuts.

evive Robotic Armevive Robotic Arm

  • Place racquet-shaped link 2 upon the arrangement as depicted in the following figures.

evive Robotic Arm

Notice the larger holes in racquet-shaped link 2. They are for ease of disassembly and re-assembly. You can easily drive a screwdriver through the holes if you want to fasten or loosen the screws right blow the holes.
  • Insert M3 bolts of 8mm length wherever required.

evive Robotic Armevive Robotic Arm

  • Now, assemble the second link. Attach another servo horn on link 2 and fasten using self-threading M2 screws. This link is different from supporting link as it has a slot for another servo. Refer to the figures.

evive Robotic Arm

  • Attach 20 mm stand-offs at the positions shown, then fix these standoffs with M3 bolts of 8mm length.

evive Robotic Armevive Robotic Arm

  • Fit the servo holder into rectangular slots provided on link 2 from below. Refer to the figures and see which rectangular slots to fix the holder in.

evive Robotic Arm

  • Insert M3 nuts into the slots provided in the servo holder and fasten with M3 bolts of 12mm length. Refer to the figures below.

evive Robotic Armevive Robotic Arm

  • Fix the micro servo in the slot provided in the configuration shown. Be careful about the position and orientation of the servo head and fasten using M2 bolts of 12mm length and nuts as shown.

evive Robotic Armevive Robotic Arm

  •  Attach support link and fasten it to the standoffs using 8mm M3 bolts.

evive Robotic Arm
This is how our second link looks. The servo horn will be attached to the mini servo’s head in our first link (step 16).

evive Robotic Arm

  •  Now, we will assemble the pen holder. Note that there is a free servo head in the second link assembled. This servo will support the pen holder through a micro horn. Attach the micro horn to the pen holder using self-threading M2 bolts of 8mm length (from micro servo accessories) as shown.

evive Robotic Armevive Robotic Arm

  • Fasten the pen holder to the second link by driving a screw (from servo accessories) through the servo horn as done in step 15. Keep in mind that the micro servo is set at 90 degrees as done in step 14.

evive Robotic Armevive Robotic Arm

  • Recall the free servo horn on the second assembled link. Set the servo angle to 180 degrees as done in step 14. Now, we will attach it to the servo head on the first assembled link and will fix them together by fasten it using the bolt provided in servo accessories.

evive Robotic Armevive Robotic Armevive Robotic Arm

  • We are almost done now. The only thing which remains is to fix a pen. Proceed by placing it in the slot given at a suitable height.

evive Robotic Arm

  • Fasten M3 bolts of 8mm length to hold the pen in the pen holder.

evive Robotic Arm

Note: Please ensure all fasteners are well-tightened, the robot might stay wiggly otherwise.
evive Robotic Arm
Step 2:

Circuit

Robotic Arm Sketching Robot Circuit Diagram Fritzing

Note: Ensure that all the servos are properly connected and there are no loose wires, this might otherwise effect performance of the arm during operation. Use cable ties for wire management.
Step 3:

Arduino Code

In this program we are controlling the robotic arm using potentiomters and slide switch.

  • Base Servo is controlled using potentiometer 1
  • Link 1 Servo is controlled using potentiometer 2
  • Link 2 Servo is controlled using slide switch 1

This program also shows the variable voltage on the screen. <>

Caution: The robotic arm should operate at 6V using a 2A power supply.

Libraries: TFT_ST7735

[pastacode lang="c" manual="%23include%20%3CServo.h%3E%0A%23include%20%3CTFT_ST7735.h%3E%0A%0Adouble%20angle_rad%20%3D%20PI%2F180.0%3B%0Adouble%20angle_deg%20%3D%20180.0%2FPI%3B%0Adouble%20BaseServoAngle%3B%0Adouble%20Link1ServoAngle%3B%0Adouble%20VariableVoltage%3B%0ATFT_ST7735%20lcd%20%3D%20TFT_ST7735()%3B%0AServo%20servo_44%3B%0AServo%20servo_45%3B%0AServo%20servo_9%3B%0A%0Avoid%20setup()%7B%0A%20%20%20%20lcd.init()%3B%0A%20%20%20%20lcd.setRotation(1)%3B%0A%20%20%20%20lcd.fillScreen(0)%3B%0A%20%20%20%20pinMode(A0%2B9%2CINPUT)%3B%0A%20%20%20%20servo_44.attach(44)%3B%20%2F%2F%20init%20pin%0A%20%20%20%20pinMode(A0%2B10%2CINPUT)%3B%0A%20%20%20%20servo_45.attach(45)%3B%20%2F%2F%20init%20pin%0A%20%20%20%20pinMode(40%2CINPUT)%3B%0A%20%20%20%20servo_9.attach(9)%3B%20%2F%2F%20init%20pin%0A%20%20%20%20pinMode(A0%2B7%2CINPUT)%3B%0A%7D%0A%0Avoid%20loop()%7B%0A%20%20%20%20BaseServoAngle%20%3D%20analogRead(A0%2B9)%3B%0A%20%20%20%20BaseServoAngle%20%3D%20((BaseServoAngle)%20*%20(180))%20%2F%20(1023)%3B%0A%20%20%20%20BaseServoAngle%20%3D%20(180)%20-%20(BaseServoAngle)%3B%0A%20%20%20%20servo_44.write(BaseServoAngle)%3B%20%2F%2F%20write%20to%20servo%0A%20%20%20%20Link1ServoAngle%20%3D%20analogRead(A0%2B10)%3B%0A%20%20%20%20Link1ServoAngle%20%3D%20((Link1ServoAngle)%20*%20(180))%20%2F%20(1023)%3B%0A%20%20%20%20Link1ServoAngle%20%3D%20(180)%20-%20(Link1ServoAngle)%3B%0A%20%20%20%20servo_45.write(Link1ServoAngle)%3B%20%2F%2F%20write%20to%20servo%0A%20%20%20%20if(digitalRead(40))%7B%0A%20%20%20%20%20%20%20%20servo_9.write(90)%3B%20%2F%2F%20write%20to%20servo%0A%20%20%20%20%20%20%20%20lcd.setCursor(10%2C%2055)%3B%0A%20%20%20%20%20%20%20%20lcd.print(%22Pen%20Servo%20Angle%3A%2090%20Deg%22)%3B%0A%20%20%20%20%7Delse%7B%0A%20%20%20%20%20%20%20%20servo_9.write(0)%3B%20%2F%2F%20write%20to%20servo%0A%20%20%20%20%20%20%20%20lcd.setCursor(10%2C%2055)%3B%0A%20%20%20%20%20%20%20%20lcd.print(%22Pen%20Servo%20Angle%3A%200%20Deg%20%22)%3B%0A%20%20%20%20%7D%0A%20%20%20%20VariableVoltage%20%3D%20analogRead(A0%2B7)%3B%0A%20%20%20%20VariableVoltage%20%3D%20(VariableVoltage)%20*%20(0.0381)%3B%0A%20%20%20%20lcd.setCursor(10%2C%2010)%3B%0A%20%20%20%20lcd.print(%22Voltage%3A%20%22)%3B%0A%20%20%20%20lcd.print(VariableVoltage)%3B%0A%20%20%20%20lcd.print(%22%20V%20%20%20%22)%3B%0A%20%20%20%20lcd.setCursor(10%2C%2025)%3B%0A%20%20%20%20lcd.print(%22Base%20Servo%3A%20%22)%3B%0A%20%20%20%20lcd.print(BaseServoAngle)%3B%0A%20%20%20%20lcd.print(%22%20Deg%20%20%20%22)%3B%0A%20%20%20%20lcd.setCursor(10%2C%2040)%3B%0A%20%20%20%20lcd.print(%22Link%201%20Servo%3A%20%22)%3B%0A%20%20%20%20lcd.print(Link1ServoAngle)%3B%0A%20%20%20%20lcd.print(%22%20Deg%20%20%20%22)%3B%0A%20%20%20%20delay(50)%3B%0A%7D" message="" highlight="" provider="manual"/]

Circuit Diagram

Ensure that all the servos are properly connected and there are no loose wires, this might otherwise effect performance of the arm during operation. Use cable ties for wire management.
Robotic Arm Sketching Robot Circuit Diagram Fritzing

Code

Featured Projects

Leave a Reply

Introduction

This is a three degree of freedom robotic arm with a pen holder as its end effector. You can code this robot to draw anything, write your name, sketch your face and much more.

evive Robotic Arm

Components Required

ImageComponentQuantityAvailable in Kit
evive1
Share this Project
Facebook
Twitter
Google+
Pinterest
Reddit
Print
Related Projects
Featured Projects

Leave a Reply

Close Menu
×

Cart