robotc practice coding

advertisement
AUTOMATION WITH ROBOTC
Starting to write and troubleshoot
computer code
OPEN A NEW FILE
REVIEW OF ROBOT C
When you open a
new file in Robot C,
you must go to the
“MOTORS and
SENSORS SETUP”
page before you
write your code
REVIEW OF ROBOT C
Once your new file is open,
remember that your
program code always needs
to be written between the
two curly brackets on the
screen
NATURAL LANGUAGE COMMANDS
We will only use 4
of the Natural
Language commands
when we program,
but each of these
commands has a
number of choices
MOVEMENT
Commands that allow you to control
individual motors
SPECIAL
Commands that control the
more unique VEX Hardware –
LED’s and Flashlights
UNTIL
Commands that allow you to
create behaviors where the robot
acts “until” a certain event. For
example,
 Button Press
 Potentiometer Value
WAIT
Commands that wait for
an elapsed amount of
time. The next command
will run after the timer is
done.
ROBOTC PRACTICE PROGRAM
You may notice warnings or errors.
 Make sure you spell motor and sensor names
exactly as defined in Motors and Sensors
setup.
 A ; is needed at the end of each line of code.
 Don’t forget every open parenthesis needs a
closing parenthesis.
 What is wrong with line 31?
WHAT’S WRONG WITH THIS CODE?
Missing the semicolon.
WHY WON’T THE MOTOR STOP?
Should say
“leftMotor”, not
“rightMotor”.
WHY WON’T THE LED TURN ON?
There is nothing
between the “Turn on”
and “Turn Off”
commands, so the LED
doesn’t stay on at all.
DIGITAL SWITCHES
 Digital Switches are either ON
or OFF. The command that
will always work for these
switches is “untilBump”
BUMP SWITCH
LIMIT SWITCH
YOUR WARM UP PROGRAM
1.
2.
3.
Write a program so that a motor turns on
when the limit switch is pressed.
After 2 ½ seconds have that motor turn
off and the other motor turn on in the
opposite direction
Press the bump switch to turn off the
second motor.
PRACTICE PROGRAM ANSWER
ANALOG SWITCHES
The Potentiometer and
Line Tracker work on a
scale of 0 – 4095
POTENTIOMETER
LINE TRACKER
POTENTIOMETER
The Potentiometer works
on a scale of 0 – 4095
It is very sensitive, and it is
NOT meant to turn all the
way around, so please don’t
force it!
POTENTIOMETER
Position = a number between 0 and 4095
sensorPort = in2 or potentiometer
ANALOG SWITCHES
Write a code for the
potentiometer that turns
on a motor for 3 seconds
when you turn it past 3500
POTENTIOMETER
POTENTIOMETER PROGRAM ANSWER
task main()
{
untilPotentiometerGreaterThan(3500, in2);
startMotor(rightMotor, 127);
waitInMilliseconds(3000);
stopMotor(rightMotor);
}
ROBOTC DEBUGGER
When I write a code with a potentiometer, I need to
see what the sensor is reading right now. We do this
by looking at a “Debugger” window.
ROBOTC DEBUGGER
After you click on “Compile Program”, open the
Sensor Debug window by going to Robot > Debug
Windows > Sensors
LINE TRACKER
Position = a number between 0 and 4095
sensorPort = in1 or lineTracker
LINE TRACKER
The line tracker
senses light and dark.
Right a program that
turns on a motor, and
has it stop when you
cover the line tracker
with your finger.
LINE TRACKER PROGRAM ANSWER
task main()
{
startMotor(rightMotor, 127);
untillight(100, in1);
stopMotor(rightMotor);
}
OPEN SYSTEM
An open system will let you unplug your cortex
from the computer and run your program repeated
times.
Download