ADM Python P.2

Variables as Workcell Settings

Variables for coordinates, speeds, counters, and destinations.

Your lesson guide

Objective

Create and update variables Use variables inside Workcell commands Explain why variables make automation flexible

Materials

For the online work: a browser and your engineering notebook. Follow the activity’s materials list for any physical build, and get teacher approval before using equipment.

Plan your time

Suggested work block: 45–60 minutes. Physical builds and projects may span several classes; follow your teacher’s schedule.

Learning Targets

  • Create and update variables
  • Use variables inside Workcell commands
  • Explain why variables make automation flexible

How to Use This Page

  1. Read the short lesson.
  2. Attempt every Practice Check before revealing the answer.
  3. Complete Predict It and Fix It by tracing and correcting code.
  4. Complete Modify It and Program It by writing Workcell-style Python code.
  5. Use the Mastery Check before moving to the next lesson.
Learn It

Python Idea + Workcell Connection

A variable is a named storage location. Instead of repeating a coordinate such as 100 throughout a program, you can store it as pickup_x = 100.

Variables make Workcell programs easier to change. If a pickup location moves, you update the variable once instead of editing every motion command.

Python variable names are case-sensitive: pickup_x and pickupX are different names.

Worked Example

Trace This Code

Read every line and predict what the program would do before opening the practice check.

pickup_x = 100
pickup_y = 150
pickup_z = 45

arm.move_to(pickup_x, pickup_y, 120)
arm.move_to(pickup_x, pickup_y, pickup_z)
arm.set_end_effector_magnet(True)
Practice Check A

Check Your Understanding

  1. What value is stored in pickup_y?

    Check Answer

    150

  2. If pickup_x changes to 140, how many move commands use the new value?

    Check Answer

    Both movement commands use the new x value.

  3. Are pickup_x and pickupX the same variable?

    Check Answer

    No. Python variable names are case-sensitive.

Rule: If you missed more than one question, reread Learn It and trace the example again before continuing.

1 · Predict It

Trace the Code

If pickup_x changes from 100 to 140, which movements change?

Do first: Write your answer in your engineering notebook.

Reveal Self-Check

Both arm.move_to commands change their x-coordinate from 100 to 140.

2 · Fix It

Debug the Program

Find and correct every error before opening the answer.

pickup_x = 100
pickup_y = 150
pickup_z = 45

arm.move_to(pickupX, pickup_y, pickup_z)
Reveal Debugging Check

Change pickupX to pickup_x. The original name is the variable that was defined.

3 · Modify It

Change Working Code

Add a variable named safe_z and use it instead of typing the safe height directly.

Success Check

  • Your code is syntactically correct.
  • The change affects only the intended Workcell behavior.
  • You can explain what changed and why.

Evidence: Paste the revised code into your engineering notebook.

4 · Program It

Build It Yourself

Create variables for one pickup location and one pallet location, then use those variables in arm movement commands.

Before You Finish

  • Trace the code once by hand.
  • Check variable names, colons, parentheses, and indentation.
  • Verify that the coordinates and logic match the written scenario.
  • Add useful comments.
Interactive Practice

Python Practice Lab

Edit the code, predict the output, then click Run Code. No physical Workcell is connected.

Browser Python

P.2 Practice

Ready
Output / Errors
Predict what the code will do, then click Run Code.

Tip: Press Ctrl+Enter (Cmd+Enter on Mac) to run. The mock arm object prints simulated Workcell actions instead of controlling hardware.

Practice Check B

Explain Your Code

Without looking back at Learn It, answer these in your notebook:

  1. What Python structure or idea did you use?
  2. What Workcell behavior would this code represent?
  3. What mistake would cause the code to behave incorrectly?
What a Strong Response Includes

A strong response names the Python idea accurately, connects it to a specific Workcell action or decision, and identifies a realistic syntax or logic error from this lesson.

Mastery Gate

Ready for the Next Lesson?

  • □ I can create variables with clear names.
  • □ I can substitute variables into robot commands.
  • □ I can find variable-name mismatches.

Move on only when you can check every statement. If one is still uncertain, revisit the worked example or redo Fix It before continuing.

Command Reference

VEX Workcell Python API

Use the official VEX API only as a programming reference to verify method names and parameters. The examples use the configured arm name arm. No physical Workcell is required.

Open EXP Workcell Arm API

Build your lesson report

Checkpoint: is your evidence ready?
  • Check calculations, units, labels, and measurements against the activity requirements.
  • Record what actually happened, including unexpected results.
  • Explain what you changed and why; attach required drawings, photos, CAD, or code in your classroom assignment.

Submit the evidence specified in the activity and your classroom assignment. The report below collects your notes, calculations, observations, and reflections; attach any required drawings, photos, CAD, or code separately.

A PDF download is not a submission. Review it, then upload it and any required attachments through your classroom assignment system.