no optics
Dependencies: Stepper mbed PinDetect
main.cpp@2:65c5232b9465, 2019-09-04 (annotated)
- Committer:
- rschimpf78
- Date:
- Wed Sep 04 18:03:54 2019 +0000
- Revision:
- 2:65c5232b9465
- Parent:
- 0:88834eed3de0
- Child:
- 3:af3195b3330d
new
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rschimpf78 | 0:88834eed3de0 | 1 | #include "mbed.h" |
rschimpf78 | 0:88834eed3de0 | 2 | #include "Stepper.h" |
rschimpf78 | 2:65c5232b9465 | 3 | #include "string" |
rschimpf78 | 2:65c5232b9465 | 4 | DigitalIn optic(D5); |
rschimpf78 | 2:65c5232b9465 | 5 | Stepper mot(D3,D2); //(PUL+,DIR+) |
rschimpf78 | 2:65c5232b9465 | 6 | DigitalOut en(D4); |
rschimpf78 | 0:88834eed3de0 | 7 | Serial pc(USBTX, USBRX); |
rschimpf78 | 0:88834eed3de0 | 8 | |
rschimpf78 | 2:65c5232b9465 | 9 | int main() |
rschimpf78 | 0:88834eed3de0 | 10 | { |
rschimpf78 | 2:65c5232b9465 | 11 | optic.mode(PullDown); |
rschimpf78 | 2:65c5232b9465 | 12 | wait(0.1); |
rschimpf78 | 2:65c5232b9465 | 13 | int steps = 0; |
rschimpf78 | 2:65c5232b9465 | 14 | int slot = 0; |
rschimpf78 | 2:65c5232b9465 | 15 | en = 1; // stepper motor off |
rschimpf78 | 2:65c5232b9465 | 16 | wait(1); |
rschimpf78 | 2:65c5232b9465 | 17 | mot.setSpeed(400); //stepper speed |
rschimpf78 | 2:65c5232b9465 | 18 | mot.setPositionZero(); //set origin for stepper steps |
rschimpf78 | 2:65c5232b9465 | 19 | while(1) |
rschimpf78 | 2:65c5232b9465 | 20 | { |
rschimpf78 | 2:65c5232b9465 | 21 | pc.printf("\n\n\nEnter desired position: "); |
rschimpf78 | 2:65c5232b9465 | 22 | pc.scanf("%d",&slot); |
rschimpf78 | 2:65c5232b9465 | 23 | en = 0; //turns on stepper driver |
rschimpf78 | 2:65c5232b9465 | 24 | mot.goesTo(slot*100); // move to absolute 100 |
rschimpf78 | 2:65c5232b9465 | 25 | while(!mot.stopped()); // while motor is turning...do line below |
rschimpf78 | 2:65c5232b9465 | 26 | steps = mot.getPosition(); //read in absolute step postition |
rschimpf78 | 2:65c5232b9465 | 27 | while(optic == 0) |
rschimpf78 | 2:65c5232b9465 | 28 | { |
rschimpf78 | 2:65c5232b9465 | 29 | wait(1); |
rschimpf78 | 2:65c5232b9465 | 30 | mot.goesTo(steps+25); //go to absolute step position |
rschimpf78 | 2:65c5232b9465 | 31 | while(!mot.stopped()); |
rschimpf78 | 2:65c5232b9465 | 32 | steps = mot.getPosition(); |
rschimpf78 | 2:65c5232b9465 | 33 | pc.printf("\nNot in Position", steps); |
rschimpf78 | 0:88834eed3de0 | 34 | } |
rschimpf78 | 2:65c5232b9465 | 35 | pc.printf("\nIn Position"); |
rschimpf78 | 2:65c5232b9465 | 36 | en = 1; //disable the motor and driver |
rschimpf78 | 2:65c5232b9465 | 37 | //if (tickcount<steps) |
rschimpf78 | 2:65c5232b9465 | 38 | //{ |
rschimpf78 | 2:65c5232b9465 | 39 | //mot.goesTo(steps+25); |
rschimpf78 | 2:65c5232b9465 | 40 | //while(!mot.stopped()); |
rschimpf78 | 2:65c5232b9465 | 41 | //steps = mot.getPosition(); |
rschimpf78 | 2:65c5232b9465 | 42 | //pc.printf("\nNot in Position", steps); |
rschimpf78 | 2:65c5232b9465 | 43 | //} |
rschimpf78 | 2:65c5232b9465 | 44 | //if (tickcount>steps) |
rschimpf78 | 2:65c5232b9465 | 45 | //{ |
rschimpf78 | 2:65c5232b9465 | 46 | //mot.goesTo(steps-25); |
rschimpf78 | 2:65c5232b9465 | 47 | //while(!mot.stopped()); |
rschimpf78 | 2:65c5232b9465 | 48 | //steps = mot.getPosition(); |
rschimpf78 | 2:65c5232b9465 | 49 | //pc.printf("\nNot in Position", steps); |
rschimpf78 | 2:65c5232b9465 | 50 | //} |
rschimpf78 | 0:88834eed3de0 | 51 | } |
rschimpf78 | 0:88834eed3de0 | 52 | } |