# Exercise 1: Programming Basics

Link to the function Call Glossary is at the bottom of the Page.

Code:

void myCode()
{
//—————————————————————————————-
// myCode();
//
// This is the tab where the programming of your vehicle operation is done.
// Tab _00_AEV_key_words contains a compiled list of functions/subroutines used for vehicle
// operation.
//
// Note:
// (1) After running your AEV do not turn the AEV off, connect the AEV to a computer, or
// push the reset button on the Arduino. There is a 13 second processing period. In
// post processing, data is stored and battery recuperation takes place.
// (2) Time, current, voltage, total marks, position traveled are recorded approximately
// every 60 milliseconds. This may vary depending on the vehicles operational tasks.
// It takes approximately 35-40 milliseconds for each recording. Thus when programming,
// code complexity may not be beneficial.
// (3) Always comment your code. Debugging will be quicker and easier to do and will
// especially aid the instructional team in helping you.
//—————————————————————————————-

// Program between here——————————————————————-

// Accelerate motor one from start to 15% power in 2.5 seconds
celerate(1,0,15,2.5);

// Run motor one at a constant speed (15% power) for 1 second.
motorSpeed(1,15);
goFor(1);

// Brake motor one.
brake(1);

// Accelerate motor two fromstart to 27% power in 4 seconds
celerate(2,0,27,4);

// Run motor two at a constant speed (27% power) for 2.7 second
motorSpeed(2,27);
goFor(2.7);

// Decelerate motor two to 15% power in 1 second
celerate(2,27,15,1);

// Brake motor two
brake(2);

// Reverse the direction of only motor 2
reverse(2);

// Accelerate all motors from start to 31% power in 2 seconds
celerate(4,0,31,2);

// Run all motors at a constant speed of 35% power for 1 second
motorSpeed(4,35);
goFor(1);

// Brake motor two but keep motor one running at a constant speed (35% power) for 3 seconds
brake(2);
motorSpeed(1,35);
goFor(3);

// Brake all motors for 1 second
brake(4);
goFor(1);

// Reverse the direction of motor one
reverse(1);

// Accelerate motor one from start to 19% powe rover 2 seconds
celerate(1,0,19,2);

// Run motor two at 35% power while simultaneeously running motor one at 19% power for 2 seconds
motorSpeed(2,35);
motorSpeed(1,19);
goFor(2);

// Run both motors at a constant speed (19% power) for 2 seconds
motorSpeed(4,19);
goFor(2);

// Decelerate both motors to 0% power in 3 seconds
celerate(4,19,0,3);

// Brake all motors
brake(4);
// And here——————————————————————————–

} // DO NOT REMOVE. end of void myCode()

Function Call Glossary