with optic sensor

Dependencies:   Stepper mbed PinDetect

Committer:
rschimpf78
Date:
Wed Sep 04 18:57:27 2019 +0000
Revision:
3:5410ddd83592
Parent:
2:65c5232b9465
Child:
4:82cd644fef51
optics;

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 3:5410ddd83592 22 pc.scanf("%d",&slot);
rschimpf78 3:5410ddd83592 23
rschimpf78 2:65c5232b9465 24 en = 0; //turns on stepper driver
rschimpf78 3:5410ddd83592 25 mot.goesTo(slot*1000); // move to absolute slot*500 step position
rschimpf78 2:65c5232b9465 26 while(!mot.stopped()); // while motor is turning...do line below
rschimpf78 2:65c5232b9465 27 steps = mot.getPosition(); //read in absolute step postition
rschimpf78 3:5410ddd83592 28 //while(optic == 0)
rschimpf78 3:5410ddd83592 29 //{
rschimpf78 3:5410ddd83592 30 //wait(1);
rschimpf78 3:5410ddd83592 31 //mot.goesTo(steps+25); //go to absolute step position
rschimpf78 3:5410ddd83592 32 //while(!mot.stopped());
rschimpf78 3:5410ddd83592 33 //steps = mot.getPosition();
rschimpf78 3:5410ddd83592 34 //pc.printf("\nNot in Position", steps);
rschimpf78 3:5410ddd83592 35 //}
rschimpf78 2:65c5232b9465 36 pc.printf("\nIn Position");
rschimpf78 2:65c5232b9465 37 en = 1; //disable the motor and driver
rschimpf78 2:65c5232b9465 38 //if (tickcount<steps)
rschimpf78 2:65c5232b9465 39 //{
rschimpf78 2:65c5232b9465 40 //mot.goesTo(steps+25);
rschimpf78 2:65c5232b9465 41 //while(!mot.stopped());
rschimpf78 2:65c5232b9465 42 //steps = mot.getPosition();
rschimpf78 2:65c5232b9465 43 //pc.printf("\nNot in Position", steps);
rschimpf78 2:65c5232b9465 44 //}
rschimpf78 2:65c5232b9465 45 //if (tickcount>steps)
rschimpf78 2:65c5232b9465 46 //{
rschimpf78 2:65c5232b9465 47 //mot.goesTo(steps-25);
rschimpf78 2:65c5232b9465 48 //while(!mot.stopped());
rschimpf78 2:65c5232b9465 49 //steps = mot.getPosition();
rschimpf78 2:65c5232b9465 50 //pc.printf("\nNot in Position", steps);
rschimpf78 2:65c5232b9465 51 //}
rschimpf78 0:88834eed3de0 52 }
rschimpf78 0:88834eed3de0 53 }