with optic sensor

Dependencies:   Stepper mbed PinDetect

Committer:
rschimpf78
Date:
Wed Sep 04 18:03:54 2019 +0000
Revision:
2:65c5232b9465
Parent:
0:88834eed3de0
Child:
3:5410ddd83592
new

Who changed what in which revision?

UserRevisionLine numberNew 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 }