When conducting preliminary research, the team used the code below to observe the function of the AEV and data analysis tool. Descriptions for each of the programs may be found directly prior to each program.
Coding in Lab 1 (1/10/2019):
The group’s first meeting consisted of researching programming in the Arduino environment. After reading documentation regarding programming and setting up the Arduino programming environment, the group tested the code below on the provided sample AEV in order to solidify the group’s collective understanding.
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.
goFor(1);
// Brake motor one.
brake(1);
// Accelerate motor two from start to 27% power in 4 seconds.
celerate(2,0,27,4);
// Run motor two at a constant speed (27% power) for 2.7 seconds.
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);
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% power over 2 seconds.
celerate(1,0,19,2);
// Run motor two at 35% power while simultaneouslyrunning motor one at 19% power for 2 seconds.
motorSpeed(2,35);
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()
Reflectance Sensors (1/17/2019):
The team met again to research reflectance sensors and their potentially applicability to the AEV. The team read through the documentation of the sensors and noted the ability of the marks to be used to measure the distance the AEV has traversed. Further, the team tested the AEV sensors to ensure they worked correctly and were aligned to correctly measure the distance traversed.
The team noted the importance of the reflectance sensors and the need to use them in future designs of the AEV.
Code for Lab 3 Test Run (1/31/2019):
The team ran a test run with the sample AEV using the code provided below. The purpose of the test was to familiarize the group with the Data Analysis tool and to determine the general effectiveness of the sample AEV. These results will be used to test future renditions of the AEV and determine which versions performed better, worse, or the same to the sample AEV. Sadly, the team was not able to collect data this past week and will post the data upon collection.
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 all motors from start to 25% in 3 seconds.
celerate(4,0,25,3);
// Run all motors at a constant speed (25% power) for 1 second.
motorSpeed(4,25);
goFor(1);
// Run all motors at 20% power for 2 seconds.
motorSpeed(4,20);
goFor(2);
// Reverse all motors.
reverse(4);
// Run all motors at a constant speed (25% power) for 2 second.
motorSpeed(4,25);
goFor(2);
// Brake all motors.
brake(4);
// And here——————————————————————————–
} // DO NOT REMOVE. end of void myCode()