VEX Robotics Design System Simple Easy C Program

VEX Robotics Design System Simple Easy. C Program J. M. Gabrielse

Outline • The Programming Kit • The Joystick • Your 1 st Easy. C Program • Common Problems J. M. Gabrielse

The Programming Kit • Easy. C V 4 for Cortex • only works with the new controllers in your kits • USB to serial port adapter Easy. C CD • connects a computer to the dongle • dongle USB to serial adapter • connects a telephone cable to a serial cable (or USB to serial adapter) • telephone cable • plugs into the programming port of your joystick dongle telephone cable J. M. Gabrielse

8 channels: 1. x-axis of right joystick (-127 to +127) 2. y-axis of right joystick (-127 to +127) 3. y-axis of left joystick (-127 to +127) 4. x-axis of left joystick (-127 to +127) 5. left trigger buttons Up (0 or 1) Down (0 or 1) 6. right trigger buttons Up (0 or 1) Down (0 or 1) 7. left buttons Up (0 or 1) Down (0 or 1) Left (0 or 1) Right (0 or 1) 8. right buttons Up (0 or 1) Down (0 or 1) Left (0 or 1) Right (0 or 1) VEXnet Joystick ↑ Top View ↑ ↓ Front View ↓ ↑ Front View ↑ J. M. Gabrielse

Sample Program in Easy. C J. M. Gabrielse

Start a New Competition Project J. M. Gabrielse

Select Field Control Competition Project J. M. Gabrielse

Select the Controller Configuration (F 5) J. M. Gabrielse

Type in descriptions of what you’re going to J. M. Gabrielse plug into each port.

Type in descriptions of what you’re going to J. M. Gabrielse plug into each port.

Select the Operator. Control tab. J. M. Gabrielse

Expand Joystick J. M. Gabrielse

Modes Arcade = 1 joystick drive (simpler) Tank = 2 joystick drive (better control) The number of motors should match your robot (2 for the protobot). Pick Tank or Arcade mode. J. M. Gabrielse

Modes I will use Tank – 2 motor since driving with two joysticks gives the driver more control. You can use Arcade – 2 motor if you prefer to drive with one joystick. Drag Tank – 2 motor onto the flow chart. J. M. Gabrielse

WHILE Loops Any statement placed in a while loop will execute over and over again (if the expression equals 1). We drag the joystick block into the while loop so the program will get commands from the joystick over and over again. Drag Tank – 2 motor into the WHILE loop. J. M. Gabrielse

Tank Drive The y-axis of the left joystick should control the left wheels and the y-axis of the right joystick should control the right wheels. For Tank drive set the Left Channel to 3 (the y-axis of your left joystick) J. M. Gabrielse

Tank Drive The y-axis of the left joystick should control the left wheels and the y-axis of the right joystick should control the right wheels. For Tank drive set the Right Channel to 2 (the y-axis of your right joystick) J. M. Gabrielse

Arcade Drive The y-axis of your right joystick (if you’re right-handed) should control the speed (forward/reverse) of the robot. For Arcade set the Forward/Reverse Channel to 2 (the y-axis of the right joystick). J. M. Gabrielse

Arcade Drive The x-axis of your right joystick (if you’re right-handed) should control the rotation (turning) of the robot. For Arcade set the Rotate Channel to 1 (the x-axis of the right joystick). J. M. Gabrielse

Motor Numbers The number of the slot/port on the robot controller that a motor is plugged into is its Motor Number. Labels from the Controller Configuration automatically appear in green. Select the motor number for your Left Motor. J. M. Gabrielse

Motor Numbers The number of the slot/port on the robot controller that a motor is plugged into is its Motor Number. Labels from the Controller Configuration automatically appear in green. Select the motor number for your Right Motor. J. M. Gabrielse

Arm J. M. Gabrielse

J. M. Gabrielse

Gripper J. M. Gabrielse

Gripper J. M. Gabrielse

Congratulations! You are done writing your first program. J. M. Gabrielse

Build & Download your program. J. M. Gabrielse

Build & Download your program. J. M. Gabrielse

Your program is finished downloading when the bar goes down (erases old code) and goes back again (loads new code). J. M. Gabrielse

Save your program even if it didn’t work. J. M. Gabrielse

“My code won’t download!” (Is your robot on? ) The POWER switch should be ON. The ROBOT light should be green (charged battery). The VEXnet light should be green (connected). Make sure to turn your joystick on too. J. M. Gabrielse

“My code won’t download!” (Did you use a fresh battery? ) What color is the ROBOT light on the controller? • green: okay battery • red: dead battery J. M. Gabrielse

“My code won’t download!” (Is the robot connected to the computer? ) USB A-A cable computer joystick remove the VEXnet key robot controller • The USB A-A cable should be plugged into the robot controller in the USB port where the VEXnet key normally plugs in. • The other end of the USB A-A cable should be plugged into a USB port on the computer. J. M. Gabrielse

“My code won’t download!” (You can use the programming cord instead of the USB A-A cable) telephone cable dongle USB to serial adapter computer joystick • The telephone cord should be plugged into the port labeled PROGRAM on the joystick. • The other end of the telephone plug should be plugged into the dongle. • The other end of the dongle should be attached to the computer (either by the USB to serial adapter or a serial cable). J. M. Gabrielse

“My robot doesn’t drive right!” (Are the motors plugged in correctly? ) Everything should be plugged in according to the Controller Configuration J. M. Gabrielse

“My robot doesn’t drive right!” (Did you use servos instead of motors? ) • check the label • motors spin continuously (360° of rotation) • the controller sets the speed (-127 to +127) • servos spin back and forth (120° of rotation) • the controller sets the location (-127 to +127) J. M. Gabrielse

“My robot doesn’t drive right!” (Do you need to invert any of your motors? ) • Test drive your robot with all it’s wheels off the ground • Look to see if any motors need to spin in the other direction • Check Invert Direction to make a wheel spin in the other direction. • Build & Download your modified code J. M. Gabrielse

J. M. Gabrielse
- Slides: 38