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:
- 10:18116d979d61
- Parent:
- 8:ec7b7c9ad07e
- Child:
- 11:aac90fca0290
diff -r ec7b7c9ad07e -r 18116d979d61 main.cpp
--- a/main.cpp Fri Mar 03 09:39:28 2017 +0000
+++ b/main.cpp Wed May 03 10:12:04 2017 +0000
@@ -8,12 +8,84 @@
AnalogIn Sensor2 (A2);
AnalogIn Sensor3 (A3);
AnalogIn Sensor4 (A4);
-
+DigitalOut steppera (D2);
+DigitalOut stepperb (D3);
+DigitalOut stepperc (D4);
+DigitalOut stepperd (D5);
+Ticker lidar;
+Ticker serial;
+
+Serial pc(USBTX, USBRX);
+int stapmode = 0;
+int position = 0;
+int pos;
+
+// poar neemn
+// twee poar neemn
+// twee tettn in n envelop
+
+int stepper(int stapmode)
+{
+ switch (stapmode) {
+ case 0:
+ steppera = 1;
+ stepperb = 0;
+ stepperc = 1;
+ stepperd = 0;
+ pos ++;
+ break;
+ case 1:
+ steppera = 1;
+ stepperb = 0;
+ stepperc = 0;
+ stepperd = 1;
+ pos ++;
+ break;
+ case 2:
+ steppera = 0;
+ stepperb = 1;
+ stepperc = 0;
+ stepperd = 1;
+ pos ++;
+ break;
+ case 3:
+ steppera = 0;
+ stepperb = 1;
+ stepperc = 1;
+ stepperd = 0;
+ pos ++;
+ break;
+ ;
+ }
+ if (pos > 1000) { //na volledige rotatie ga naar nul
+ pos = 0;
+ }
+ return pos;
+
+}
+
+void run_serial() //deze functie word periodiek aangeroepen om de stappenmotor te draaien en de afstand te meten
+{
+
+ pc.printf("%d\n",position);
+}
+
+void run_lidar() //deze functie word periodiek aangeroepen om de stappenmotor te draaien en de afstand te meten
+{
+ stapmode ++;
+ if (stapmode > 3) {
+ stapmode = 0;
+ }
+ position = stepper(stapmode);
+}
+
int main() {
+ lidar.attach(&run_lidar, 0.0001);
+ serial.attach(&run_serial, 0.2);
while(1) {
if ( Sensor1 >= 1) {
Motor1 = 0 ;