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.