easyc programming workshop n.
Skip this Video
Loading SlideShow in 5 Seconds..
EasyC Programming Workshop PowerPoint Presentation
Download Presentation
EasyC Programming Workshop

Loading in 2 Seconds...

  share
play fullscreen
1 / 15
Download Presentation

EasyC Programming Workshop - PowerPoint PPT Presentation

uriah-fowler
215 Views
Download Presentation

EasyC Programming Workshop

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. EasyC Programming Workshop January 30, 2008 Hauppauge High School SPBLI - FIRST Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp. Mark.McLeod@ngc.com

  2. Agenda • FIRST Control System • C Basics • EasyC Environment • EasyC Basics • Robot Driver Control • Demonstration of Basic OI Controls • Robot Autonomous Control • Demonstration of Dead Reckoning

  3. FIRST Control System solenoid motor

  4. FIRST Control Elements • Hardware • Robot Controller (RC) • User Processor vs. Master Processor • PWM, Relay, Digital I/O, Analog, Misc. • Operator Interface (OI) • Tether cable / Programming cable • Laptop • Programming • C Language Based • Application Programmer Interface (API) • Dashboard (optional)

  5. Robot Controller Architecture • User Processor • What we download to • Runs our code • Reads the digital/analog I/O directly • Master Processor • Controls Disable/Autonomous/Driver modes • Disables OI inputs & most RC outputs • Must hear from User periodically or shuts it down • Master Code Software is updated each year

  6. Robot Controller I/O Motors Analog Gyroscope Servo Team LEDs Analog Rangefinder Potentiometer Banner Sensor Touch Sensor Pressure Sensor Switch Digital Encoder Relays TTL Solenoid Compressor Limit Switch Camera

  7. Getting Started • Tutorials • Help -> Tutorials • Create/Open an EasyC Project • New Competition Template • Controller Configuration • Drag & Drop Editing • Build & Download • Loader Setup to select serial/USB port • Online Window to test & check RC config.

  8. .hex file Mechanics Build & Download Robot Controller Dashboard (optional) Operator Interface Prog Button

  9. Project • Controller Configuration • Set Digital as input or output

  10. Function Blocks • Add Variables • Inputs – Digital & Analog I/O • Outputs – PWM, Relay • Program Flow – C statements • RC Control – Drive style (tank, arcade) • Camera • Control – Know status (disable, auto) • User Functions (Initialize, Auto, Operator)

  11. Simple 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” }

  12. More Complex Operator Mode unsigned char LeftJoystick; // Double click “Variables” while (1) { LeftJoystick = GetOIAInput(1,2); // From “RC Control” if(LeftJoystick > 137 || LeftJoystick < 117) // From “Program Flow” { SetPWM(1, LeftJoystick); // From “Outputs” } else { SetPWM(1, 127); } }

  13. Simple Autonomous SetPWM(1,200); // From “Outputs” SetPWM(2,55); Wait(10000); // From “Program Flow” (10 secs in milliseconds) SetPWM(1,127); //Be sure to stop the robot at the end SetPWM(2,127);

  14. Sample IR Sensor Use While(1) { if (GetDigitalInput(1) == 1) { SetOILED(1,1); //Turn 1st OI light on SetOILED(3,0); //Turn other OI lights off SetOILED(5,0); SetOILED(7,0); SetPWM(1,200); //Drive the robot SetPWM(2,55); } if (GetDigitalInput(2) == 1) { SetOILED(1,0); //Turn other OI lights off SetOILED(3,1); //Turn 2nd OI light on SetOILED(5,0); SetOILED(7,0); SetPWM(1,127); //Stop the robot SetPWM(2,127); } }

  15. More Information • Presentation slides at: Team358.org • Questions/Help please email us. Mark.McLeod@ngc.com