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:
- 3:01b5e80d842d
- Parent:
- 1:813f4b17ae65
- Child:
- 4:208f5279143a
diff -r 730ccfbf08d5 -r 01b5e80d842d main.cpp
--- a/main.cpp Sun Mar 03 00:55:10 2019 +0000
+++ b/main.cpp Sat Mar 09 14:27:48 2019 +0000
@@ -2,50 +2,54 @@
#include "math.h"
#include "mbed.h"
-#include "QEI.h"
+#include "PID.h"
#include "Encoder.h"
+#include "lineSensor.h"
#include "P.h"
#include "Wheel.h"
#include "Robot.h"
-#include "lineSensor.h"
//blue D8
//Green D9
//Red D5
-
- Ticker sampler;
- DigitalOut enable(PA_13);
- DigitalOut led(PA_5);
+int i = 0;
+int main() {
+ Serial pc(USBTX, USBRX);
- Encoder* LE = new Encoder(PB_10,PB_4);
+ DigitalOut enable(PA_13);
+ enable.write(1);
+
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);
+ Encoder* LE = new Encoder(PB_10,PB_4);
+ Wheel* rightWheel = new Wheel(RE,PC_8,PA_9, PA_14);
+ Wheel* leftWheel = new Wheel(LE,PC_6,PA_8, PA_7);
+ //an array of lineSensor pointers params: lineSensor(PinName emitter Pin, PinName reciever Pin, make sure it is from LEFT TO RIGHT
- //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;
+ pc.printf("Stage 1 speed %f\r\n", rightWheel->returnAngularVelocity());
- void sensorReadings(void)
+ rightWheel->init(0);
+ while(rightWheel->returnAngularVelocity() != 0)
{
- sensorArray[i]->takeReading();
- if (sensorArray[i]->returnLineVoltage() >= 1.5f)
- {
- led.write(0);
- } else { led.write(1);}
- i++;
- if (i == 6) {i=0;}
+ pc.printf("Stage 2, speed %f\r\n",rightWheel->returnAngularVelocity());
+ }
+ leftWheel->init(0);
+ while(leftWheel->returnAngularVelocity() != 0)
+ {
+ pc.printf("Stage 2, speed %f\r\n",leftWheel->returnAngularVelocity());
}
-int main() {
- enable.write(1);
- leftWheel->init(1);
- rightWheel->init(0);
-
- sampler.attach(callback(sensorReadings),0.1);
- while(1){}
+ while(1)
+ {
+ i++;
+ if (i >= 10)
+ {
+ i = 0;
+ pc.printf("speed %f\r\n", rightWheel->returnAngularVelocity());
+ pc.printf("speed %f\r\n", leftWheel->returnAngularVelocity());
+ }
+ }
+}
-}
+/* ineSensor* 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)}; */
\ No newline at end of file