EasyC Programming EasyC Programming Workshop Workshop January 30, 2008 Hauppauge High School SPBLI - FIRST Mark McLeod Mark McLeod Advisor Advisor Hauppauge Team 358 Hauppauge Team 358 Northrop Grumman Corp. Northrop Grumman Corp. [email protected][email protected]
EasyC Programming Workshop. January 30, 2008 Hauppauge High School SPBLI - FIRST. Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp. [email protected]. Agenda. FIRST Control System C Basics EasyC Environment EasyC Basics Robot Driver Control - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
ProgrammingProgramming– C Language BasedC Language Based– Application Programmer Interface (API)Application Programmer Interface (API)– Dashboard (optional)Dashboard (optional)
Robot Controller Robot Controller ArchitectureArchitecture User ProcessorUser Processor
– What we download toWhat we download to– Runs our codeRuns our code– Reads the digital/analog I/O directlyReads the digital/analog I/O directly
Master ProcessorMaster Processor– Controls Disable/Autonomous/Driver modesControls Disable/Autonomous/Driver modes– Disables OI inputs & most RC outputsDisables OI inputs & most RC outputs– Must hear from User periodically or shuts it downMust hear from User periodically or shuts it down– Master Code Software is updated each yearMaster Code Software is updated each year
Robot Controller I/ORobot Controller I/O
Banner Sensor
Touch Sensor
Switch
Gyroscope
CameraLimit Switch
Analog Rangefinder
Encoder
Potentiometer
Pressure Sensor
Servo
Solenoid Compressor
Analog
Digital
Motors
Relays
TeamLEDs
TTL
Getting StartedGetting Started
TutorialsTutorials– Help -> TutorialsHelp -> Tutorials
Create/Open an EasyC ProjectCreate/Open an EasyC Project– New Competition TemplateNew Competition Template– Controller ConfigurationController Configuration
Drag & Drop EditingDrag & Drop Editing Build & DownloadBuild & Download
– Loader Setup to select serial/USB portLoader Setup to select serial/USB port– Online Window to test & check RC Online Window to test & check RC
config.config.
.hex file
Robot Controller
Operator Interface
Dashboard (optional)
MechanicsMechanics
Prog Button
Build & Download
ProjectProject
Controller ConfigurationController Configuration– Set Digital as input or outputSet Digital as input or output
Function BlocksFunction Blocks
Add VariablesAdd Variables Inputs – Digital & Analog I/OInputs – Digital & Analog I/O Outputs – PWM, RelayOutputs – PWM, Relay Program Flow – C statementsProgram Flow – C statements RC Control – Drive style (tank, arcade)RC Control – Drive style (tank, arcade) CameraCamera Control – Know status (disable, auto)Control – Know status (disable, auto) User Functions (Initialize, Auto, User Functions (Initialize, Auto,
Operator)Operator)
Simple Operator ModeSimple Operator Mode
While (1) { // From “Program Flow – While”
Tank4(1,2,2,2,1,3,2,4,0,1,0,1);
// From “RC Control – Tank – 4 motor”
}
More Complex More Complex Operator ModeOperator Modeunsigned char LeftJoystick; // Double click “Variables”
while (1) {
LeftJoystick = GetOIAInput(1,2); // From “RC Control”