Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@4:208f5279143a, 2019-03-23 (annotated)
- Committer:
- mazdo25
- Date:
- Sat Mar 23 19:46:09 2019 +0000
- Revision:
- 4:208f5279143a
- Parent:
- 3:01b5e80d842d
- Child:
- 5:f1613df66ceb
latest working, but line following not;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| mazdo25 | 1:813f4b17ae65 | 1 | #define PI 3.141 |
| mazdo25 | 1:813f4b17ae65 | 2 | |
| mazdo25 | 1:813f4b17ae65 | 3 | #include "math.h" |
| mazdo25 | 0:f45212966fb1 | 4 | #include "mbed.h" |
| mazdo25 | 0:f45212966fb1 | 5 | #include "Encoder.h" |
| mazdo25 | 3:01b5e80d842d | 6 | #include "lineSensor.h" |
| mazdo25 | 1:813f4b17ae65 | 7 | #include "P.h" |
| mazdo25 | 4:208f5279143a | 8 | #include "PID.h" |
| mazdo25 | 4:208f5279143a | 9 | #include "LWheel.h" |
| mazdo25 | 4:208f5279143a | 10 | #include "RWheel.h" |
| mazdo25 | 1:813f4b17ae65 | 11 | #include "Robot.h" |
| mazdo25 | 1:813f4b17ae65 | 12 | |
| mazdo25 | 0:f45212966fb1 | 13 | |
| mazdo25 | 0:f45212966fb1 | 14 | //blue D8 |
| mazdo25 | 0:f45212966fb1 | 15 | //Green D9 |
| mazdo25 | 0:f45212966fb1 | 16 | //Red D5 |
| mazdo25 | 3:01b5e80d842d | 17 | int i = 0; |
| mazdo25 | 3:01b5e80d842d | 18 | int main() { |
| mazdo25 | 3:01b5e80d842d | 19 | Serial pc(USBTX, USBRX); |
| mazdo25 | 1:813f4b17ae65 | 20 | |
| mazdo25 | 3:01b5e80d842d | 21 | DigitalOut enable(PA_13); |
| mazdo25 | 3:01b5e80d842d | 22 | enable.write(1); |
| mazdo25 | 3:01b5e80d842d | 23 | |
| mazdo25 | 1:813f4b17ae65 | 24 | Encoder* RE = new Encoder(PB_3,PB_5); |
| mazdo25 | 3:01b5e80d842d | 25 | Encoder* LE = new Encoder(PB_10,PB_4); |
| mazdo25 | 4:208f5279143a | 26 | LWheel* leftWheel = new LWheel(LE,PC_8,PA_9, PA_14); |
| mazdo25 | 4:208f5279143a | 27 | RWheel* rightWheel = new RWheel(RE,PC_6,PA_8, PB_6); |
| mazdo25 | 0:f45212966fb1 | 28 | |
| mazdo25 | 4:208f5279143a | 29 | //an array of lineSensor pointers params: lineSensor(PinName emitter Pin, PinName reciever Pin, make sure it is from LEFT TO RIGHT |
| mazdo25 | 4:208f5279143a | 30 | lineSensor* sensorArray[6] = {new lineSensor(PB_9,A0),new lineSensor(PC_11,A1),new lineSensor(PD_2,A2),new lineSensor(PC_10,A3),new lineSensor(PB_8,A4),new lineSensor(PC_12,A5)}; |
| mazdo25 | 4:208f5279143a | 31 | |
| mazdo25 | 4:208f5279143a | 32 | leftWheel->init(0); |
| mazdo25 | 0:f45212966fb1 | 33 | |
| mazdo25 | 4:208f5279143a | 34 | while(leftWheel->returnAngularVelocity()!= 0) |
| mazdo25 | 4:208f5279143a | 35 | { |
| mazdo25 | 4:208f5279143a | 36 | pc.printf("Stage 1, speed %f\r\n",leftWheel->returnAngularVelocity()); |
| mazdo25 | 4:208f5279143a | 37 | } |
| mazdo25 | 4:208f5279143a | 38 | |
| mazdo25 | 4:208f5279143a | 39 | rightWheel->init(1); |
| mazdo25 | 3:01b5e80d842d | 40 | while(rightWheel->returnAngularVelocity() != 0) |
| mazdo25 | 1:813f4b17ae65 | 41 | { |
| mazdo25 | 3:01b5e80d842d | 42 | pc.printf("Stage 2, speed %f\r\n",rightWheel->returnAngularVelocity()); |
| mazdo25 | 3:01b5e80d842d | 43 | } |
| mazdo25 | 4:208f5279143a | 44 | pc.printf("L , speed%f\r\n",leftWheel->returnMaxAngularVel()); |
| mazdo25 | 4:208f5279143a | 45 | pc.printf("R , speedM %f\r\n",rightWheel->returnMaxAngularVel()); |
| mazdo25 | 4:208f5279143a | 46 | //Robot rbt(leftWheel, rightWheel, sensorArray); |
| mazdo25 | 4:208f5279143a | 47 | leftWheel->adjustAngularVelocity(40.0f); |
| mazdo25 | 4:208f5279143a | 48 | rightWheel->adjustAngularVelocity(-64.0f); |
| mazdo25 | 3:01b5e80d842d | 49 | while(1) |
| mazdo25 | 3:01b5e80d842d | 50 | { |
| mazdo25 | 4:208f5279143a | 51 | pc.printf("L , speed%f\r\n",leftWheel->returnAngularVelocity()); |
| mazdo25 | 4:208f5279143a | 52 | pc.printf("R , speedM %f\r\n",rightWheel->returnAngularVelocity()); |
| mazdo25 | 3:01b5e80d842d | 53 | } |
| mazdo25 | 4:208f5279143a | 54 | |
| mazdo25 | 3:01b5e80d842d | 55 | } |
| mazdo25 | 4:208f5279143a | 56 | //lineSensor* sensorArray[6] = {new lineSensor(D11,A0),new lineSensor(D7,A1),new lineSensor(D6,A2),new lineSensor(D5,A3),new lineSensor(D4,A4),new lineSensor(D3,A5)}; |