ADM Activity 1.1.6

Shapes

Program geometric paths using coordinates and repeated motion logic.

Lesson Overview

In this lesson, you will use coordinates and movement commands to create recognizable shapes or letters. The activity connects programming, geometry, and robotic motion.

Notes

  • The variable z controls the drawing or tool height in the example.
  • Lifting the pen/tool between sections prevents unwanted lines.
  • Comments help separate the code into shape sections.
  • Coordinate planning is important before running the robot.
  • The final program should include clear comments, safe movement, and evidence of testing.
Code example

1.1.6: Shapes

Review the code, copy it when needed, and add comments before submitting your final version.

VEXcode Python Example
Code examples may be incomplete or missing comments. Comments are required for code submissions.
def main():
    z = -7
    #Home
    arm.move_to(120, 0, 100)
    #Top of C1
    arm.move_to(125, 25, z)
    arm.move_to(125, 0, z)
    wait(1, SECONDS)

    #Left side of C1
    arm.move_to(150, 0, z)
    wait(1, SECONDS)

    #Bottom of C1
    arm.move_to(150, 25, z)
    wait(1, SECONDS)

    #Lift Pen
    arm.move_to(150, 25, 50)
    wait(1, SECONDS)
    #Top of C2
    arm.move_to(125, 75, z)
    arm.move_to(125, 50, z)
    wait(1, SECONDS)

    #Left side of C2
    arm.move_to(150, 50, z)
    wait(1, SECONDS)

    #Bottom of C2
    arm.move_to(150, 75, z)
    wait(1, SECONDS)

     #Lift Pen
    arm.move_to(150, 75, 50)
    wait(1, SECONDS)

     #Left Side of A
    arm.move_to(125, 125, z)
    arm.move_to(140, 130, z)
    arm.move_to(150, 135, z)
    wait(1, SECONDS)

     #Lift Pen
    arm.move_to(150, 135, 50)
    arm.move_to(125, 125, z)
    wait(1, SECONDS)

     #Right Side of A
    arm.move_to(140, 120, z)
    arm.move_to(150, 115, z)
    wait(1, SECONDS)

     #Lift Pen
    arm.move_to(150, 115, 50)
    wait(1, SECONDS)

     #A Cross
    arm.move_to(140, 130, 5)
    arm.move_to(140, 130, z)
    arm.move_to(140, 120, z)
    wait(1, SECONDS)

     #Lift and Return
    arm.move_to(150, 180, 50)
    arm.move_to(120, 0, 100)
    wait(1, SECONDS)