
Team Design project 3 main file
Dependencies: mbed Motor_Driver Sensors MMA8451Q LocalPositionSystem
Fork of TDP_main by
Diff: main.cpp
- Revision:
- 38:02ef89edd828
- Parent:
- 37:c0fddc75c862
--- a/main.cpp Tue Mar 24 22:34:52 2015 +0000 +++ b/main.cpp Wed Mar 25 10:45:08 2015 +0000 @@ -51,15 +51,16 @@ motors.setSteeringMode(NORMAL); motors.disableHardBraking(); motors.forward(); - motors.setSpeed (0.07f); - motors.start(); + motors.setSpeed (0.1f); + motors.start(); + wait(1); //motors.enableSlew(); while (1) { measureSensors(); oldValuesFlag = USE; switch (sensorsCheckSum) { - case 0: //all black >> turn around by 180 degrees or a possible turn on the left +/* case 0: //all black >> turn around by 180 degrees or a possible turn on the left for (k=0;k<5;k++) { //left turn situation >> stop, go backwards if (oldValues[k] == 194) { motors.stop(); @@ -90,12 +91,12 @@ motors.stop(); } } - break; + break; */ case 30: //all right sensors are white, left all black >> turn right motors.setSteeringMode(NORMAL); motors.forward(); motors.setRightSpeed(0.02f); - motors.setLeftSpeed(0.07f); + motors.setLeftSpeed(0.04f); do { motors.start(); @@ -103,11 +104,11 @@ } while (sensorsCheckSum == 30); motors.stop(); break; - case 46: //robot is facing north-west >> turn left + case 46: //robot is facing north-west >> turn right motors.setSteeringMode(NORMAL); motors.forward(); - motors.setRightSpeed(0.03f); - motors.setLeftSpeed(0.07f); + motors.setRightSpeed(0.02f); + motors.setLeftSpeed(0.05f); do { motors.start(); @@ -118,8 +119,8 @@ case 94: //normal <<STARTING POSITION>>, half of right and half of left are white motors.setSteeringMode(NORMAL); motors.forward(); - motors.setRightSpeed(0.02f); - motors.setLeftSpeed(0.06f); + motors.setRightSpeed(0.08f); + motors.setLeftSpeed(0.08f); do { motors.start(); @@ -148,11 +149,11 @@ } while (measure(sensorArray[0]) == 0); motors.stop(); break; - case 154: //robot is facing north-east >> turn right + case 154: //robot is facing north-east >> turn left motors.setSteeringMode(NORMAL); motors.forward(); - motors.setRightSpeed(0.07f); - motors.setLeftSpeed(0.03f); + motors.setRightSpeed(0.05f); + motors.setLeftSpeed(0.02f); do { motors.start(); @@ -163,8 +164,8 @@ case 174: //left all white, right all black >> turn left (move right wheel) motors.setSteeringMode(NORMAL); motors.forward(); - motors.setRightSpeed(0.07f); - motors.setLeftSpeed(0.03f); + motors.setRightSpeed(0.06f); + motors.setLeftSpeed(0.02f); do { motors.start(); @@ -176,8 +177,8 @@ case 194: //left all white, right half white >> go straight, turn right if 194 goes to 204 motors.setSteeringMode(NORMAL); motors.forward(); - motors.setRightSpeed(0.04f); - motors.setLeftSpeed(0.07f); + motors.setRightSpeed(0.01f); + motors.setLeftSpeed(0.02f); do { motors.start(); @@ -185,7 +186,7 @@ } while (sensorsCheckSum == 194); motors.stop(); //do while left is white break; - case 204: //all sensors are white +/* case 204: //all sensors are white for (k=0;k<6;k++) { //situation when a square is entered, need to follow right line if (oldValues[k] == 194) { //checks whether black line on the right was present before motors.setSteeringMode(NORMAL); @@ -220,16 +221,24 @@ break; } } - break; - default: - motors.start(); + break; */ + default: + /* if (sensorsCheckSum < 96) { + motors.setSpeed(0.0); + motors.setLeftSpeed(0.02); + } + else if (sensorsCheckSum > 96) { + motors.setSpeed (0.0); + motors.setRightSpeed(0.02); + } + } */ + //motors.start(); oldValuesFlag = SKIP; break; - } - } // while() statement - -} //while loop + } // switch statement + } //while loop +} // main /* motors.setSpeed (normalSpeed); while(1){ @@ -239,36 +248,6 @@ // printBluetooth(); // } - switch (sensorsCheckSum) { - case 94: - motors.setSpeed (normalSpeed*2); - wait(0.4); - break; - - case 104: - turnRight (); - break; - default: - testOtherCases =1; - break; - } - if (testOtherCases == 1) { - if (sensorsCheckSum < 96) { - motors.setSpeed (0.0); - motors.setLeftSpeed(normalSpeed*2); - wait(0.1); - } - else if (sensorsCheckSum > 96) { - motors.setSpeed (0.0); - motors.setRightSpeed(normalSpeed*2); - wait(0.1); - } - - } - motors.setSpeed(0.0); - wait(0.2); - - } } //int main void turnRight () { @@ -324,7 +303,7 @@ if (oldValues[k] == sensorsCheckSum) { for (i = k; i > 0; i--) { oldValues[i] = oldValues[i-1]; - } + } } else { oldValues[k] = oldValues[k-1]; } @@ -332,4 +311,4 @@ } } } -} //measureSensors end +}