Vex Cortex Controller System and Programming

Slides:



Advertisements
Similar presentations
Teacher/Mentor Institute Using the Cortex Chuck Powell.
Advertisements

Who are we?  Naomi Fitzsimmons Parts replacement  Matt Lapolla Programming, Technical issues,
BEST Robotic, Inc. easyC Team Training
Teacher/Mentor Institute Using the Cortex Carolyn Bauer July 21-22, 2014.
Jason Howard. Agenda I. How to download robotc II. What is tele-op used for? III. How to build a basic tele-op program IV. Getting the robot to drive.
Robot Design Workshop: VEX Hardware & Robot Building Basics Elliot Eid Minnesota BEST Robotics Copyright © 2010 BEST Robotics, Inc. All rights reserved.
Wiring the new control system MVRT 2010 – 2011 Season.
Teacher/Mentor Institute Hands-On Session: Building a Robot Scott McEwen & Kevin Barrett July 21-22, 2014.
V EX C OACHES ' T RAINING October 12, Agenda for Today 9 – 10 AM : Tina Reeves and the Engineering Notebook 10 – Noon : Finish Building, Basic Robot.
Teacher/Mentor Institute Robot Kit Familiarization Carolyn Bauer July 21-22, 2014.
Teacher/Mentor Institute August 6-7, 2012 Robot Kit Familiarization Carolyn Bauer.
Technical Topics for Teams August BEST GAME RULES.
Vex 1.0 © 2005 Carnegie Mellon Robotics Academy Inc. Touch Sensor This lesson will explain how to hook a standard micro switch into the Vex system to function.
Copyright © 2012 BEST Robotics, Inc. All rights reserved.
Minnesota BEST Kits Elliot Eid Minnesota BEST Robotics Copyright © 2010 BEST Robotics, Inc. All rights reserved. 1.
ROBOTC for VEX Online Professional Development
Available at: – Operate the Tumbler using a Jumper Pin Operate the Tumbler using the jumper pin.
Weston Schreiber & Joshua Gabrielse Robotics Summer Training Programming #1: EasyC Basics.
Programming Concepts (Part B) ENGR 10 Introduction to Engineering 1 Hsu/Youssefi.
Teacher/Mentor Institute Hands-On Session: Building a Robot Scott McEwen Chuck Powell.
Control System and Electrical Assembly Produced by Ed Latimer, Team 476 Ken York, Team 476 Ron Markum, Team
The New FTC Platform (Connecting your legacy hardware)
Teacher/Mentor Institute Using easyC Joel Kirkland July 30-31, 2015.
May 2, 2008 Copyright © 2008 BEST Robotics, Inc. All rights reserved. 1 BEST Robotics Advanced Instruction Node Basic BRAIN Training Using Your BRAIN (For.
VEX Parts – Batteries, Logic, and Controls
BEST Robotic, Inc. easyC Breakout Session By: Guy Chetrit Programming With easyC September 15, Copyright © 2012 BEST Robotics, Inc. All rights reserved.
Teacher/Mentor Institute Hands-On Session: Building a Robot Carolyn Bauer July 30-31, 2015.
EasyC Programming Workshop January 30, 2008 Hauppauge High School SPBLI - FIRST Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp.
EV3 Workshop Oct 3, 2015 Instructor: Chris Cartwright
Introduction to Vexnet
Minnesota BEST Kits Elliot Eid Minnesota BEST Robotics Copyright © 2010 BEST Robotics, Inc. All rights reserved. 1.
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class3/Lab 2.
Copyright © 2010 BEST Robotics, Inc. All rights reserved.
Electrical and Controls Workshop – The Basics Mike McIntyre & Rahamath Shaik September 26, 2015 (with props to Tom Barch!)
BEST Control System BEST Robotic, Inc. August 1, Copyright © 2010 BEST Robotics, Inc. All rights reserved.
San Antonio BEST Return and Consumables Kits September 13, 2014 St Mary’s University Center
Mechanical Components and Programming Ken Youssefi Introduction to Engineering – E10 1.
Connect VEX and ROBOTC Electrical Engineer Responsibilities © 2011 Project Lead The Way, Inc.Automation and Robotics VEX.
Project Overview  Introduction  Frame Build  Motion  Power  Control  Sensors  Advanced Sensors  Open design challenges  Project evaluation.
Teacher/Mentor Institute Intro to easyC Programming Scott McEwen July 21-22, 2016.
ROBOTC for CORTEX Teacher Training © 2011 Project Lead The Way, Inc. Automation and Robotics VEX.
Teacher/Mentor Institute Hands-On Session: Building a Robot Carolyn Bauer July 21-22, 2016.
Having fun with code, using Arduino in a middle school CS classroom
After Construction Name: Per #:.
Introduction to Vexnet
BEST Robotic, Inc. MATLAB/Simulink Team Training
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Robotics Education & Competition Foundation
Using the VEX Cortex Processor
Using the VEX Cortex Processor
Hands-On Session: Mini-Competition
cyBorg 1.0 Project by Team ROBOTECH The Green PAFIANS
FlowArm PLTW Motions Computer Integrated Manufacturing
ROBOTC for VEX Online Professional Development
Arduino Development for Beginners
Introduction to Handshaking Communication with SSC-32U
MINDSENSORS PSP-Nx Controller for LEGO® MINDSTORMS®
Electrical Engineer Responsibilities
Teacher-Mentor Workshop
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Interface Connections
fischertechnik® RoboPro Software for Gateway To Technology® RoboPro
Basics for Robotics Programming
By Willem Scholten Learning Access Institute
Automation and Robotics
VEXnet User's Guide.
1.11: Robot Controller.
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Introduction to Programing the Cortex for BEST
Presentation transcript:

Vex Cortex Controller System and Programming

Who are we? Naomi Fitzsimmons Matt Lapolla John Robertson Bill Ryan naomi.fitzsimmons@student.oc.edu Parts replacement Matt Lapolla okbest@mattandsuz.com Programming, Technical issues, Rules, etc. John Robertson johndrobertson@gmail.com Policies, Technical Issues, Scoring Bill Ryan Bill.Ryan@oc.edu Everything else

Overview Terminology Hardware Overview Programming Languages Programming example Defining Inputs Defining Outputs Input - Output Relationship Write Program Test Program Other Useful Functions Appendix

Terminology

Terminology: Proportional or Non-Proportional Dimmer Light Switch Regular Light Switch Proportional (Analog) Non-Proportional (Digital)

Terminology: Motor with Limit Transmitter Cortex

QUESTIONS? Servo vs Motor Robot Transmitter Cortex Controller -32 -127 -64 127 32 64 QUESTIONS? Cortex Controller Motor Servo

Terminology: Programming software Compile – changes your C program into object code that the linker understands. Link – combines your program’s object code with the Intelitek library and other libraries to create code that is executable on the Cortex processor. Download / Bootload – transfers the machine code version of your program from the PC to the Cortex where it will execute (the IFI/Intelitek Loader will perform the transfer via the PC USB cable)

HARDWARE OVERVIEW

Return Kit Controller Servos Joystick Analog motors/ servos battery Digital i/o WiFi key USB/Tether Serial AAA Battery Charger Picture Not Available Servo Extensions (2) Servo Power Adaptor (2) Servo Horns (4) USB A-A cable (2) Servo Mount H/W (16) (2)

Return Kit Drive components Motors 7.2V Battery charger Motor (2) Motors 7.2V Battery charger Picture Not Available (2) Motor controller (4) Battery adapter Screw terminal sensor i/f cable (8) (2) 7.2V Battery (2) Screw terminal motor i/f cable (4)

Example Hookup

Hardware Overview: Joystick 8 buttons on top 2 XY analog joysticks 6 AAA rechargeable batteries Power switch Plug-in USB/ WiFi Key 4 Button on front-side Partner/ Buddy Control Support 3 Axis Accelerometer (XY Tilt, XYZ Accel, Shake)

Hardware Overview: Joystick – What you will use 8 buttons on top 2 XY analog joysticks 6 AAA rechargeable batteries Power switch Plug-in USB/ WiFi Key 4 Button on front-side Partner/ Buddy Control Support 3 Axis Accelerometer (XY Tilt) 3 Axis Accelerometer (XY Tilt, XYZ Accel, Shake)

Hardware Overview: Cortex Controller USB Standard Serial Interfaces (UART, I2C) 1 Analog in 8 1 1 2-wire motor Digital in/out 2 3-wire PWM servo/motor ctrl 12 9 Speaker Out SP 10 2-wire motor

Hardware Overview: Cortex Controller – What you will use USB Standard Serial Interfaces (UART, I2C) 1 Analog in 8 1 1 2-wire motor Digital in/out Digital in 2 3-wire PWM servo/motor ctrl 12 9 Speaker Out SP 10 2-wire motor

Hardware Overview: Cortex Controller This will only be important on Game Day. Install before each match. Remove after each match. configuration switch (used for special procedures) 75MHz crystal interface ports On/Off switch backup battery port for WiFi communications (9V) main battery port (7.2V)

Hardware Overview: Cortex Controller – What you will use configuration switch (used for special procedures) 75MHz crystal interface ports On/Off switch backup battery port for WiFi communications (9V) main battery port (7.2V)

Hardware Overview: Cortex Controller Ground + 5V Signal/Control + Battery Power + Motor Power (for + control input) - Motor Power (for – control input)

Hardware Overview: DC Motors Do not solder to motors. Use spade connectors instead. Polarity is NOT marked on motors: positive(+), negative(-) Wiring and programming will determine clockwise or counter clockwise rotation for positive stick movement Mount motors with VEX Motor Mounting Kit

Hardware Overview: DC Motors For power reasons, spread your motors so that you have no more than 2 motors plugged into ports 2-5 and no more than 2 motors plugged into ports 6-9. You risk overcurrent and shutdown of the processor. Servo/motor ports are divided into 2 banks Bank1 = Ports 1-5 Bank2 = Ports 6-10 Each bank can support a maximum of 4 Amps of current BEST large motor stall current can reach 3.5 Amps. Sheet metal shield around the large motors IS needed and should not be removed.

Hardware Overview: DC Motors If using built-in motor controller(s) connect via 2-wire screw terminal cables (red/black) use motor ports 1 & 10 only If using external motor controller(s) connect via 3-wire external motor controller + 2-wire screw terminal cable use motor ports 2 thru 9 only

Hardware Overview: 2 wire Motor connection Ports 1, 10 Screw terminals for attaching motor wires Connector is not keyed. Allows swapping polarity. Port 1 and Port 10 Built-In Motor Controllers

Hardware Overview: 3 wire Motor connection Ports 2 - 9 Suggest using a 4” wire tie or heat shrink tubing here External Motor Controller Standard 2-wire motor cable Standard 3-wire PWM connector Plug in to Motor Ports 2 thru 9 Screw terminals for attaching motor leads

Hardware Overview: Servo – Electrical Connection White to White Black to Black Futaba S3003 or S3004 series Maximum 120 degree rotation (+60, -60) Connection to Cortex controller use motor ports 2 thru 9 only Servo horns may be modified 2x3 pin header Servo Power Adapter Cable via 3-wire PWM + 2x3 pin header servo horns (2) (2) (1)

Hardware Overview: Servo – Electrical Connection Insert a 2x3 pin header Occupies 2 ports Converts VEX female port to male port Because Futaba servos have female connectors

Hardware Overview: Servo – Electrical Connection Insert a Servo Power Adaptor Converts VEX female port to male port and provides protection Because Futaba servos have female connectors

Hardware Overview: Servo – Electrical Connection Servo connectors are keyed for proper insertion. (small tab shown) Servo Cables White= Data Red = +Batt Voltage Black = Gnd Second half of 2x3 pin header.

Hardware Overview: Servo – Mounting Hardware Futaba 3003/3004 Servos 4 per Kit Mounting Hardware for each To eliminate damage to mounting holes Servo Mounting Hardware Rubber grommet (2) Brass spacer (4) Mounting screw (4) Note: There are 16 of each screw, spacer, grommet in the Return Kit.

Hardware Overview: Servo – Mounting Hardware 1. No h/w attached 2. Attach rubber grommets 3. Insert brass spacers 4. Secure servo with screws

Hardware Overview: Digital Input/Output Use for switches Connect to Cortex digital inputs using 2-wire sensor screw terminal cables (white/black wires) sensor screw terminal cable Connect to switch Connect to Cortex digital input port

Hardware Overview: Digital Input / Output must program digital port for proper direction (input) Open: Program reads as ‘1’ ; Closed: Program Reads as ‘0’ sensor cable connector is keyed use digital ports 1 thru 12

Programming Languages

Programming Languages Three different programming environments available MathWorks Simulink http://www.mathworks.com/academia/best-robotics/ easyCv4 http://www.intelitekdownloads.com/easyCV4 RobotC http://www.robotc.net/download/cortex

Programming Languages: Simulink Simulink is graphical programming/modeling environment Simulation capability (see what your program will do before you download it to the Cortex)

Programming Languages: Robot C RobotC programs in C with a text editor, but it has runtime debugging (can step through program line by line and see what the results are)

Programming Languages: Easy C easyC is a block programming environment (similar to software for Lego Mindstorms)

Programming Example

Programming Example: Steps to creating a program Open new Easy C workspace Define Inputs Define Outputs Define Input to Output relationship Write a program Compile Program Download Test Program

Programming Example: Open Easy C

Programming Example: Open New Project

Programming Example: Open New Project

Programming Example: Save your New Program

Programming Example Defining Inputs

Defining Inputs: Joystick, Switches and Digital Signals What are the Inputs? Joystick Input Options Proportional Channel 1 Channel 2 Channel 3 Channel 4 Tilt X Tilt Y Digital Inputs Channel 5 Up, Down Channel 6 Up, Down Channel 7 U, D, R, L Channel 8 U, D, R, L Controller Input Options Digital 1 Digital 2 Digital 3 Digital 4 Digital 5 Digital 6 Digital 7 Digital 8 Digital 9 Digital 10 Digital 11 Digital 12

Defining Inputs: Joystick, Switches and Digital Signals Channel 1 Drive: Turn Right Left Channel 2 Drive: Forward/Reverse Joystick Input Options Proportional Channel 1 Channel 2 Channel 3 Channel 4 Tilt X Tilt Y Digital Inputs Channel 5 Up, Down Channel 6 Up, Down Channel 7 U, D, R, L Channel 8 U, D, R, L Controller Input Options Digital 1 Digital 2 Digital 3 Digital 4 Digital 5 Digital 6 Digital 7 Digital 8 Digital 9 Digital 10 Digital 11 Digital 12

Defining Inputs: Joystick, Switches and Digital Signals Channel 1 Drive: Turn Right Left Channel 2 Drive: Forward/Reverse Channel 3 Arm: Raise and Lower Joystick Input Options Proportional Channel 1 Channel 2 Channel 3 Channel 4 Tilt X Tilt Y Digital Inputs Channel 5 Up, Down Channel 6 Up, Down Channel 7 U, D, R, L Channel 8 U, D, R, L Controller Input Options Digital 1 Digital 2 Digital 3 Digital 4 Digital 5 Digital 6 Digital 7 Digital 8 Digital 9 Digital 10 Digital 11 Digital 12

Defining Inputs: Joystick, Switches and Digital Signals Channel 1 Drive: Turn Right Left Channel 2 Drive: Forward/Reverse Channel 3 Arm: Raise and Lower Digital 1 Arm: Upper Limit Digital 2 Arm: Lower Limit Joystick Input Options Proportional Channel 1 Channel 2 Channel 3 Channel 4 Tilt X Tilt Y Digital Inputs Channel 5 Up, Down Channel 6 Up, Down Channel 7 U, D, R, L Channel 8 U, D, R, L Controller Input Options Digital 1 Digital 2 Digital 3 Digital 4 Digital 5 Digital 6 Digital 7 Digital 8 Digital 9 Digital 10 Digital 11 Digital 12

Defining Inputs: Joystick, Switches and Digital Signals Channel 1 Drive: Turn Right Left Channel 2 Drive: Forward/Reverse Channel 3 Arm: Raise and Lower Digital 1 Arm: Upper Limit Digital 2 Arm: Lower Limit Channel 5 Up Wrist: Rotate Up Channel 5 Down Wrist: Rotate Down Joystick Input Options Proportional Channel 1 Channel 2 Channel 3 Channel 4 Tilt X Tilt Y Digital Inputs Channel 5 Up, Down Channel 6 Up, Down Channel 7 U, D, R, L Channel 8 U, D, R, L Controller Input Options Digital 1 Digital 2 Digital 3 Digital 4 Digital 5 Digital 6 Digital 7 Digital 8 Digital 9 Digital 10 Digital 11 Digital 12

Programming Example Defining Outputs

Defining Outputs: Motors and Servos Motor / Servo Output Options Proportional Channel 1* Channel 2# Channel 3# Channel 4# Channel 5# Channel 6# Channel 7# Channel 8# Channel 9# Channel 10* * Can drive motor Direct, No servo control # Can drive servo Direct, Motor with speed controller

Defining Outputs: Motors and Servos Motor / Servo Output Options Proportional Channel 1* Channel 2# Channel 3# Channel 4# Channel 5# Channel 6# Channel 7# Channel 8# Channel 9# Channel 10* * Can drive motor Direct, No servo control # Can drive servo Direct, Motor with speed controller

Defining Outputs: Motors and Servos What are the outputs? Motor / Servo Output Options Proportional Channel 1* Channel 2# Channel 3# Channel 4# Channel 5# Channel 6# Channel 7# Channel 8# Channel 9# Channel 10* * Can drive motor Direct, No servo control # Can drive servo Direct, Motor with speed controller

Defining Outputs: Motors and Servos Channel 2 (Motor Large) Right Drive Motor Channel 9 (Motor Large) Left Drive motor Motor / Servo Output Options Proportional Channel 1* Channel 2# Channel 3# Channel 4# Channel 5# Channel 6# Channel 7# Channel 8# Channel 9# Channel 10* * Can drive motor Direct, No servo control # Can drive servo Direct, Motor with speed controller

Defining Outputs: Motors and Servos Channel 2 (Motor Large) Right Drive Motor Channel 9 (Motor Large) Left Drive motor Channel 3 (Motor Small) Raise and Lower Arm Motor / Servo Output Options Proportional Channel 1* Channel 2# Channel 3# Channel 4# Channel 5# Channel 6# Channel 7# Channel 8# Channel 9# Channel 10* * Can drive motor Direct, No servo control # Can drive servo Direct, Motor with speed controller

Defining Outputs: Motors and Servos Channel 2 (Motor Large) Right Drive Motor Channel 9 (Motor Large) Left Drive motor Channel 3 (Motor Small) Raise and Lower Arm Channel 8 (Servo) Wrist: Rotate Up/Down Motor / Servo Output Options Proportional Channel 1* Channel 2# Channel 3# Channel 4# Channel 5# Channel 6# Channel 7# Channel 8# Channel 9# Channel 10* * Can drive motor Direct, No servo control # Can drive servo Direct, Motor with speed controller

Input – Output Relationship Programming Example Input – Output Relationship

Input – Output Relationship: Flow Chart, Pseudo-code Inputs Program Outputs Channel 1 Arcade Mixing Motor 2 (Right) Channel 2 Motor 9 (Left) Channel 3 Channel 3 If not at limit Digital 1 Motor 3 (Arm) Digital 2 Channel 5 Up Up = Rotate Up Down = Rotate Down Servo 8 (Wrist) Channel 5 Down

Programming Example Write Program

Write Program: Set Up Input / Output The Controller Configuration window is used to identify what the various interfaces will be used for and whether the digital interfaces are configured as inputs or outputs. The Controller Configuration window can be accessed via the Project menu. The example shown is the BEST default program.

Write Program: COMMENT..COMMENT!!!! Drag

Write Program: COMMENT..COMMENT!!!!

Write Program: COMMENT..COMMENT!!!!

Write Program: Endless Loop 1 = Always Drag

Write Program: Endless Loop Most of your program will be inside the endless loop

Write Program: Drive Motors Inputs Program Outputs Channel 1 Arcade Mixing Motor 2 (Right) Channel 2 Motor 9 (Left)

Write Program: Drive Motors Drag

Write Program: Drive Motors

Write Program: Drive Motors Drag

Write Program: Drive Motors Always Joystick #1 Set Left Motor to Motor/Servo Port 9 Set Right Motor to Motor/Servo Port 2

Write Program: Drive Motors

Write Program: Arm Raise/Lower Inputs Program Outputs Channel 1 Arcade Mixing Motor 2 (Right) Channel 2 Motor 9 (Left) Channel 3 Channel 3 If not at limit Digital 1 Motor 3 (Arm) Digital 2

Write Program: Arm Raise/Lower Drag

Write Program: Arm Raise/Lower Drag

Write Program: Arm Raise/Lower Channel 3 Always Joystick #1 Motor/Servo 3 Limit Switch Input 1 Limit Switch Input 2

Write Program: Arm Raise/Lower

Write Program: Wrist Rotate Inputs Program Outputs Channel 1 Arcade Mixing Motor 2 (Right) Channel 2 Motor 9 (Left) Channel 3 Channel 3 If not at limit Digital 1 Motor 3 (Arm) Digital 2 Channel 5 Up Up = Rotate Up Down = Rotate Down Servo 8 (Wrist) Channel 5 Down

Write Program: Wrist Rotate

Write Program: Wrist Rotate Joystick Channel 5 Set Servo Value Select Down Button Select Up Button Set Servo Value Servo Port 8

Programming Example Compile and Download

Compile and Download: Build and Download

Compile and Download: Verify Compile with No Errors

Compile and Download: Download Program to Cortex When you see the following message connect your Cortex Controller to the PC using the supplied USB A-A cable. Then click on the YES button.

Compile and Download: Download Program to Cortex Hopefully you will see this. Then click on the OK button.

Programming Example Test Program

Test Program Ensure your robot is ‘safe’ to operate: Can’t move or fall off table (use a jack-stand) All team members clear of moving parts Connect either WiFi keys or tether cable between the joystick and the Cortex controller. Make sure Cortex switch is in OFF position. Attach a charged battery. Turn on joystick (if not using tether). Turn Cortex switch to ON position. For WiFi comm, link should establish in ~10 sec Test robot operations with transmitter.

Other Useful Functions Programming Example Other Useful Functions

Other Useful Functions Program Flow If Conditional Else-IF Conditional Else Conditional While Loop While condition is True … For Loop Repeat for X number of times Comment PLEASE COMMENT!

Other Useful Functions Inputs Digital Input…Gets Status of Digital Input Outputs Motor Module…Directly send value to motor Servo Module…Directly send value to servo

Other Useful Functions Joystick Arcade – 2 Motor Use Arcade style joystick inputs and drive 2 motors Tank-2 Motor Use Tank style joystick inputs and 2 drive motors Joystick to Motor Take input from 1 joystick and send it to motor

Other Useful Functions Joystick Joystick to Motor & Limit Take joystick value straight to motor if not at limit Joystick to Servo Take a joystick value and send it to a servo Joystick Digital to Motor Select 2 speeds for a motor based on joystick buttons pressed Joystick Digital to Motor & Limit Select 2 speeds for a motor based on joystick buttons pressed, unless limit is reached

Other Useful Functions Joystick Joystick Digital to Servo Select one of 2 positions of a servo based on 2 buttons on the joystick Get Joystick to Analog Retrieves a joystick value to a variable Get Joystick to Digital Retrieves a joystick button to a variable

Appendix

Appendix: Resources Online resources/documentation http://best.eng.auburn.edu/b_resources1.php BEST Public Message Board http://tech.groups.yahoo.com/group/bestinc/ Must register for login account Share ideas, resolve issues, …

Appendix: Resources Official Q&A “Control System” Category VEX Forum http://best.eng.auburn.edu/cgi-bin/bestqna.pl Use “Official Q&A” page during contest for “rules specific” questions Is this legal? VEX Forum http://www.vexforum.com/forum.php Technical questions about VEX equipment easyC and RobotC dedicated forums included here

Appendix: Resources Robotevents BEST Forum http://forum.robotevents.com/forumdisplay.php?f=51 Dedicated user forum for BEST Robotics Must register for a login account

Appendix: Re-sync Controller Turn off Cortex and Joystick Connect A-A USB cable to Cortex and Joystick Turn on Joystick OR Cortex Wait for Green Vexnet Light on both Joystick and Cortex Turn off both Joystick and Cortex Disconnect cables

Appendix - Status Lights joystick battery status robot battery status comm. link status Game status (not used by BEST) Green battery – good charge Yellow battery - dying Red battery – dead Green VEXnet – comm. established Yellow VEXnet – searching Lights on the controller and the joystick are the same

Appendix – Team Tips Tin motor wires with solder before attaching to screw terminals since frayed stranded wires can cause a short. Do NOT solder wires to Cortex connectors! Sensor cables, servo wires, and servo extensions are all keyed in correct orientation; insert and remove carefully to avoid destroying connectors. Tighten screws on motor and sensor connector cables so that wires are not loose and do not pull out. Mount Cortex to robot using #8 screws through holes provided; be careful not to over tighten. Avoid “hot insertion” of USB Keys. You may operate tethered by removing the USB WiFi key and connecting a USB A-A cable between joystick and Cortex.

Appendix - Joystick Calibration If the motors hum or creep (sticks not returning to zero), the joystick may need to be recalibrated Calibration procedure (as extracted from the easyC help file) 1) The Joystick must be "Linked" to the Cortex Microcontroller using the VEXnet Keys. 2) Hold the "6U" Back Switch depressed. 3) While the "6U" Back Switch is depressed, use a small Allen Wrench (1/16" or smaller) or similar small straight tool to depress and hold the CONFIG Switch. 4) Hold both Switches depressed until you see the Joystick LED Flash RED and GREEN - you can now release both Switches. a. There is a 10 second time limit to complete the following steps 5 and 6. 5) Now move both Joystick Pots to the maximum position desired in all 4 directions - Up, Back, Left, and Right. a. If a movement is not detected in all 4 directions, a timeout will occur after about 10 seconds and the Cal Mode will be discontinued and the VEXnet LED will briefly Flash Red. b. The Joystick LED will continue to Flash RED and GREEN during the calibration process. 6) After movement is detected in all 4 directions, the Joystick LED will be ON and Solid GREEN. a. To "Save" the Calibration, depress and release the "8U" Top Switch Button. b. If the calibration is accepted and Saved, the Joystick LED will start Flashing Fast GREEN for a few seconds. c. If the Calibration is not Saved, a timeout will occur after about 10 seconds and the Cal Mode will be discontinued and the VEXnet LED will briefly Flash Red. d. To cancel a calibration, depress and release the "7U" Top Switch Button. The Cal Mode will be discontinued and the VEXnet LED will briefly Flash Red. e. If the Cal Mode is discontinued or saved, the Joystick LEDs will resume their normal function after the VEXnet LED briefly Flashes.

Appendix – Default Program Motor/Servo Output Joystick Channel Motor Limits Positive Direction Negative Direction Motor 1 NOT USED None Motor 2 (Arcade Right) Channel 1 (Lt, Rt) Channel 2 (Fwd/Rev) Motor 3 Channel 1 Digital Input 1 Digital Input 2 Motor 4 Channel 2 Digital Input 3 Digital Input 4 Motor 5 Channel 3 Digital Input 5 Digital Input 6 Motor 6 Channel 4 Digital Input 7 Digital Input 8 Motor 7 Channel 3 Inverse Motor 8 Channel 4 Inverse Motor 9 (Arcade Left) Motor 10