VEX Protobot Program

Download Report

Transcript VEX Protobot Program

VEX Robotics
Design System
Simple EasyC
Program
J.M. Gabrielse
Outline
• The Programming Kit
• The Joystick
• Your 1st EasyC Program
• Common Problems
J.M. Gabrielse
The Programming Kit
• EasyC V4 for Cortex
• only works with the new controllers in
your kits
• USB to serial port adapter
EasyC 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 EasyC
J.M. Gabrielse
Start a New Competition Project
J.M. Gabrielse
Select Field Control Competition Project
J.M. Gabrielse
Select the Controller Configuration
(F5)
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 OperatorControl 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