Georgios Ardamerinos
/
DynamicsProject
Phlebot's onboard code
Fork of HelloWorld by
Revision 4:1070977b83e9, committed 2017-02-24
- Comitter:
- gardamerinos
- Date:
- Fri Feb 24 03:20:46 2017 +0000
- Parent:
- 3:ce96e87c0c53
- Child:
- 5:9f6830d1db7b
- Commit message:
- move steps with vectors
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Wed Feb 22 01:13:30 2017 +0000 +++ b/main.cpp Fri Feb 24 03:20:46 2017 +0000 @@ -1,18 +1,46 @@ #include "mbed.h" +#include <vector> -DigitalOut stepperX_DIR(p30); -PwmOut stepperX_PWM(p21); +vector<DigitalOut*> motors; +vector<int> steps; + +void step(DigitalOut stepsPin,int voltage){ + stepsPin = voltage; +} int main() { - stepperX_PWM.period_us(150); // 0.15 millisecond period - stepperX_PWM.write(0.50f); // 50% duty cycle, relative to period + DigitalOut stepperX_DIR(p30); + DigitalOut stepperY_DIR(p29); + DigitalOut stepperZ_DIR(p28); + DigitalOut stepperRot_DIR(p27); + motors.push_back(new DigitalOut(p21)); + motors.push_back(new DigitalOut(p22)); + motors.push_back(new DigitalOut(p23)); + motors.push_back(new DigitalOut(p24)); + steps.push_back(5000); + steps.push_back(5000); + steps.push_back(5000); + steps.push_back(100); + + stepperX_DIR = 1; + stepperY_DIR = 1; + stepperZ_DIR = 1; + stepperRot_DIR = 1; + while(1) { - stepperX_DIR = 1; - wait(1); - stepperX_DIR = 0; - wait(1); - stepperX_PWM.write(0); - wait(1); - stepperX_PWM.write(0.5f); + for (int i = 0; i<motors.size();i++){ + if (steps.at(i) == int(0)){ + motors.erase(motors.begin() + i); + steps.erase(steps.begin()+i); + } + } + for (int i = 0; i<motors.size();i++){ + step(*motors[i],1); + } + wait_us(100); + for (int i = 0; i<motors.size();i++){ + step(*motors.at(i),0); + } + wait_us(80); } }