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@1:813f4b17ae65, 2019-03-03 (annotated)
- Committer:
- mazdo25
- Date:
- Sun Mar 03 00:54:07 2019 +0000
- Revision:
- 1:813f4b17ae65
- Parent:
- 0:f45212966fb1
- Child:
- 3:01b5e80d842d
Buggy project
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 | 1:813f4b17ae65 | 5 | #include "QEI.h" |
mazdo25 | 0:f45212966fb1 | 6 | #include "Encoder.h" |
mazdo25 | 1:813f4b17ae65 | 7 | #include "P.h" |
mazdo25 | 0:f45212966fb1 | 8 | #include "Wheel.h" |
mazdo25 | 1:813f4b17ae65 | 9 | #include "Robot.h" |
mazdo25 | 1:813f4b17ae65 | 10 | #include "lineSensor.h" |
mazdo25 | 1:813f4b17ae65 | 11 | |
mazdo25 | 0:f45212966fb1 | 12 | |
mazdo25 | 0:f45212966fb1 | 13 | //blue D8 |
mazdo25 | 0:f45212966fb1 | 14 | //Green D9 |
mazdo25 | 0:f45212966fb1 | 15 | //Red D5 |
mazdo25 | 0:f45212966fb1 | 16 | |
mazdo25 | 1:813f4b17ae65 | 17 | Ticker sampler; |
mazdo25 | 1:813f4b17ae65 | 18 | DigitalOut enable(PA_13); |
mazdo25 | 1:813f4b17ae65 | 19 | DigitalOut led(PA_5); |
mazdo25 | 1:813f4b17ae65 | 20 | |
mazdo25 | 1:813f4b17ae65 | 21 | Encoder* LE = new Encoder(PB_10,PB_4); |
mazdo25 | 1:813f4b17ae65 | 22 | Encoder* RE = new Encoder(PB_3,PB_5); |
mazdo25 | 1:813f4b17ae65 | 23 | Wheel* leftWheel = new Wheel(LE,PC_8,PA_9, PA_14); |
mazdo25 | 1:813f4b17ae65 | 24 | Wheel* rightWheel = new Wheel(RE,PC_6,PA_8, PA_7); |
mazdo25 | 1:813f4b17ae65 | 25 | Robot rbt(leftWheel, rightWheel); |
mazdo25 | 0:f45212966fb1 | 26 | |
mazdo25 | 0:f45212966fb1 | 27 | |
mazdo25 | 1:813f4b17ae65 | 28 | //an array of lineSensor pointers params: lineSensor(PinName emitter Pin, PinName reciever Pin) |
mazdo25 | 1:813f4b17ae65 | 29 | 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)}; |
mazdo25 | 1:813f4b17ae65 | 30 | int i = 0; |
mazdo25 | 1:813f4b17ae65 | 31 | |
mazdo25 | 1:813f4b17ae65 | 32 | void sensorReadings(void) |
mazdo25 | 1:813f4b17ae65 | 33 | { |
mazdo25 | 1:813f4b17ae65 | 34 | sensorArray[i]->takeReading(); |
mazdo25 | 1:813f4b17ae65 | 35 | if (sensorArray[i]->returnLineVoltage() >= 1.5f) |
mazdo25 | 1:813f4b17ae65 | 36 | { |
mazdo25 | 1:813f4b17ae65 | 37 | led.write(0); |
mazdo25 | 1:813f4b17ae65 | 38 | } else { led.write(1);} |
mazdo25 | 1:813f4b17ae65 | 39 | i++; |
mazdo25 | 1:813f4b17ae65 | 40 | if (i == 6) {i=0;} |
mazdo25 | 1:813f4b17ae65 | 41 | } |
mazdo25 | 1:813f4b17ae65 | 42 | |
mazdo25 | 1:813f4b17ae65 | 43 | int main() { |
mazdo25 | 1:813f4b17ae65 | 44 | enable.write(1); |
mazdo25 | 1:813f4b17ae65 | 45 | leftWheel->init(1); |
mazdo25 | 1:813f4b17ae65 | 46 | rightWheel->init(0); |
mazdo25 | 1:813f4b17ae65 | 47 | |
mazdo25 | 1:813f4b17ae65 | 48 | sampler.attach(callback(sensorReadings),0.1); |
mazdo25 | 1:813f4b17ae65 | 49 | while(1){} |
mazdo25 | 0:f45212966fb1 | 50 | |
mazdo25 | 0:f45212966fb1 | 51 | } |