with optic sensor

Dependencies:   Stepper mbed PinDetect

Committer:
rschimpf78
Date:
Wed Sep 04 20:21:21 2019 +0000
Revision:
4:82cd644fef51
Parent:
3:5410ddd83592
Child:
5:1b451520ed5f
added counter for optic switch;

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 4:82cd644fef51 8 DigitalOut myled(LED1);
rschimpf78 4:82cd644fef51 9 DigitalOut myled2(LED2);
rschimpf78 4:82cd644fef51 10 DigitalOut myled3(LED3);
rschimpf78 4:82cd644fef51 11 DigitalOut myled4(LED4);
rschimpf78 4:82cd644fef51 12 int main(){
rschimpf78 4:82cd644fef51 13 int count = 0;
rschimpf78 4:82cd644fef51 14 int old_optic=0;
rschimpf78 4:82cd644fef51 15 int new_optic;
rschimpf78 4:82cd644fef51 16 optic.mode(PullDown);
rschimpf78 4:82cd644fef51 17 wait(0.01);
rschimpf78 4:82cd644fef51 18 //int positionnum = 0;
rschimpf78 4:82cd644fef51 19 //int slot = 0;
rschimpf78 4:82cd644fef51 20 //en = 1; // stepper motor off
rschimpf78 4:82cd644fef51 21 while(1) {
rschimpf78 4:82cd644fef51 22 new_optic = optic;
rschimpf78 4:82cd644fef51 23 //if (new_optic!= old_optic){
rschimpf78 4:82cd644fef51 24 pc.printf("\new optic:%ld",new_optic);
rschimpf78 4:82cd644fef51 25 wait(.5);
rschimpf78 4:82cd644fef51 26 if ((new_optic==1) && (old_optic==0)){
rschimpf78 4:82cd644fef51 27 myled4 = count & 0x01;
rschimpf78 4:82cd644fef51 28 myled3 = (count & 0x02)>>1;
rschimpf78 4:82cd644fef51 29 myled2 = (count & 0x04)>>2;
rschimpf78 4:82cd644fef51 30 myled = (count & 0x08)>>3;
rschimpf78 4:82cd644fef51 31 count++;
rschimpf78 4:82cd644fef51 32 pc.printf("\ncount:%ld",count);
rschimpf78 4:82cd644fef51 33 }
rschimpf78 4:82cd644fef51 34
rschimpf78 4:82cd644fef51 35 old_optic = new_optic;
rschimpf78 4:82cd644fef51 36 wait(.5);
rschimpf78 4:82cd644fef51 37 pc.printf("\ncount:%ld",count);
rschimpf78 4:82cd644fef51 38
rschimpf78 4:82cd644fef51 39 }
rschimpf78 4:82cd644fef51 40 }
rschimpf78 0:88834eed3de0 41
rschimpf78 4:82cd644fef51 42 /*while(1)
rschimpf78 2:65c5232b9465 43 {
rschimpf78 2:65c5232b9465 44 pc.printf("\n\n\nEnter desired position: ");
rschimpf78 3:5410ddd83592 45 pc.scanf("%d",&slot);
rschimpf78 3:5410ddd83592 46
rschimpf78 4:82cd644fef51 47 new_optic = optic;
rschimpf78 4:82cd644fef51 48 while (slot!=positionnum){
rschimpf78 4:82cd644fef51 49
rschimpf78 4:82cd644fef51 50 if (slot>positionnum){
rschimpf78 4:82cd644fef51 51 en = 0;
rschimpf78 4:82cd644fef51 52 mot.setSpeed(500);
rschimpf78 4:82cd644fef51 53 mot.rotate(1);
rschimpf78 4:82cd644fef51 54 }
rschimpf78 4:82cd644fef51 55
rschimpf78 4:82cd644fef51 56
rschimpf78 3:5410ddd83592 57 //while(optic == 0)
rschimpf78 3:5410ddd83592 58 //{
rschimpf78 3:5410ddd83592 59 //wait(1);
rschimpf78 3:5410ddd83592 60 //mot.goesTo(steps+25); //go to absolute step position
rschimpf78 3:5410ddd83592 61 //while(!mot.stopped());
rschimpf78 3:5410ddd83592 62 //steps = mot.getPosition();
rschimpf78 3:5410ddd83592 63 //pc.printf("\nNot in Position", steps);
rschimpf78 3:5410ddd83592 64 //}
rschimpf78 2:65c5232b9465 65 pc.printf("\nIn Position");
rschimpf78 2:65c5232b9465 66 en = 1; //disable the motor and driver
rschimpf78 2:65c5232b9465 67 //if (tickcount<steps)
rschimpf78 2:65c5232b9465 68 //{
rschimpf78 2:65c5232b9465 69 //mot.goesTo(steps+25);
rschimpf78 2:65c5232b9465 70 //while(!mot.stopped());
rschimpf78 2:65c5232b9465 71 //steps = mot.getPosition();
rschimpf78 2:65c5232b9465 72 //pc.printf("\nNot in Position", steps);
rschimpf78 2:65c5232b9465 73 //}
rschimpf78 2:65c5232b9465 74 //if (tickcount>steps)
rschimpf78 2:65c5232b9465 75 //{
rschimpf78 2:65c5232b9465 76 //mot.goesTo(steps-25);
rschimpf78 2:65c5232b9465 77 //while(!mot.stopped());
rschimpf78 2:65c5232b9465 78 //steps = mot.getPosition();
rschimpf78 2:65c5232b9465 79 //pc.printf("\nNot in Position", steps);
rschimpf78 2:65c5232b9465 80 //}
rschimpf78 0:88834eed3de0 81 }
rschimpf78 4:82cd644fef51 82 }*/
rschimpf78 4:82cd644fef51 83