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
Diff: main.cpp
- Revision:
- 1:813f4b17ae65
- Parent:
- 0:f45212966fb1
- Child:
- 3:01b5e80d842d
--- a/main.cpp Mon Feb 18 13:13:34 2019 +0000 +++ b/main.cpp Sun Mar 03 00:54:07 2019 +0000 @@ -1,21 +1,51 @@ +#define PI 3.141 + +#include "math.h" #include "mbed.h" +#include "QEI.h" #include "Encoder.h" -#include "PID.h" +#include "P.h" #include "Wheel.h" -#include "QEI.h" +#include "Robot.h" +#include "lineSensor.h" + //blue D8 //Green D9 //Red D5 -int main() { - DigitalOut enable(PC_12); - enable.write(1); - Encoder* LE = new Encoder(A5,A4); - Encoder* RE = new Encoder(A2,A3); - Wheel* leftWheel = new Wheel(LE,PB_7,PB_14); - Wheel* rightWheel = new Wheel(RE,PA_15,PB_13); + Ticker sampler; + DigitalOut enable(PA_13); + DigitalOut led(PA_5); + + Encoder* LE = new Encoder(PB_10,PB_4); + Encoder* RE = new Encoder(PB_3,PB_5); + Wheel* leftWheel = new Wheel(LE,PC_8,PA_9, PA_14); + Wheel* rightWheel = new Wheel(RE,PC_6,PA_8, PA_7); + Robot rbt(leftWheel, rightWheel); + //an array of lineSensor pointers params: lineSensor(PinName emitter Pin, PinName reciever Pin) + 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)}; + int i = 0; + + void sensorReadings(void) + { + sensorArray[i]->takeReading(); + if (sensorArray[i]->returnLineVoltage() >= 1.5f) + { + led.write(0); + } else { led.write(1);} + i++; + if (i == 6) {i=0;} + } + +int main() { + enable.write(1); + leftWheel->init(1); + rightWheel->init(0); + + sampler.attach(callback(sensorReadings),0.1); + while(1){} }