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
diff -r f45212966fb1 -r 813f4b17ae65 main.cpp
--- 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){}
}