with optic sensor
Dependencies: Stepper mbed PinDetect
main.cpp@5:1b451520ed5f, 2019-09-04 (annotated)
- Committer:
- rschimpf78
- Date:
- Wed Sep 04 20:54:45 2019 +0000
- Revision:
- 5:1b451520ed5f
- Parent:
- 4:82cd644fef51
- Child:
- 6:7cd69300073f
update;
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 | 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 | 5:1b451520ed5f | 13 | en = 1; |
rschimpf78 | 4:82cd644fef51 | 14 | int count = 0; |
rschimpf78 | 4:82cd644fef51 | 15 | int old_optic=0; |
rschimpf78 | 4:82cd644fef51 | 16 | int new_optic; |
rschimpf78 | 4:82cd644fef51 | 17 | optic.mode(PullDown); |
rschimpf78 | 4:82cd644fef51 | 18 | wait(0.01); |
rschimpf78 | 5:1b451520ed5f | 19 | int slot = 0; |
rschimpf78 | 5:1b451520ed5f | 20 | |
rschimpf78 | 4:82cd644fef51 | 21 | while(1) { |
rschimpf78 | 5:1b451520ed5f | 22 | mot.stop(); |
rschimpf78 | 5:1b451520ed5f | 23 | en = 1; |
rschimpf78 | 5:1b451520ed5f | 24 | |
rschimpf78 | 2:65c5232b9465 | 25 | pc.printf("\n\n\nEnter desired position: "); |
rschimpf78 | 3:5410ddd83592 | 26 | pc.scanf("%d",&slot); |
rschimpf78 | 5:1b451520ed5f | 27 | |
rschimpf78 | 5:1b451520ed5f | 28 | |
rschimpf78 | 5:1b451520ed5f | 29 | while (slot>count){ |
rschimpf78 | 4:82cd644fef51 | 30 | |
rschimpf78 | 4:82cd644fef51 | 31 | en = 0; |
rschimpf78 | 5:1b451520ed5f | 32 | wait(.001); |
rschimpf78 | 5:1b451520ed5f | 33 | mot.setSpeed(300); |
rschimpf78 | 5:1b451520ed5f | 34 | wait(.001); |
rschimpf78 | 4:82cd644fef51 | 35 | mot.rotate(1); |
rschimpf78 | 5:1b451520ed5f | 36 | new_optic = optic; |
rschimpf78 | 4:82cd644fef51 | 37 | |
rschimpf78 | 5:1b451520ed5f | 38 | if ((new_optic==1) && (old_optic==0)){ |
rschimpf78 | 5:1b451520ed5f | 39 | myled4 = count & 0x01; |
rschimpf78 | 5:1b451520ed5f | 40 | myled3 = (count & 0x02)>>1; |
rschimpf78 | 5:1b451520ed5f | 41 | myled2 = (count & 0x04)>>2; |
rschimpf78 | 5:1b451520ed5f | 42 | myled = (count & 0x08)>>3; |
rschimpf78 | 5:1b451520ed5f | 43 | count++; |
rschimpf78 | 5:1b451520ed5f | 44 | pc.printf("\ncount:%ld",count); |
rschimpf78 | 5:1b451520ed5f | 45 | } |
rschimpf78 | 5:1b451520ed5f | 46 | old_optic = new_optic; |
rschimpf78 | 4:82cd644fef51 | 47 | |
rschimpf78 | 5:1b451520ed5f | 48 | } |
rschimpf78 | 5:1b451520ed5f | 49 | |
rschimpf78 | 5:1b451520ed5f | 50 | while (slot<count){ |
rschimpf78 | 5:1b451520ed5f | 51 | |
rschimpf78 | 5:1b451520ed5f | 52 | en = 0; |
rschimpf78 | 5:1b451520ed5f | 53 | wait(.001); |
rschimpf78 | 5:1b451520ed5f | 54 | mot.setSpeed(300); |
rschimpf78 | 5:1b451520ed5f | 55 | wait(.001); |
rschimpf78 | 5:1b451520ed5f | 56 | mot.rotate(0); |
rschimpf78 | 5:1b451520ed5f | 57 | new_optic = optic; |
rschimpf78 | 5:1b451520ed5f | 58 | |
rschimpf78 | 5:1b451520ed5f | 59 | if ((new_optic==1) && (old_optic==0)){ |
rschimpf78 | 5:1b451520ed5f | 60 | myled4 = count & 0x01; |
rschimpf78 | 5:1b451520ed5f | 61 | myled3 = (count & 0x02)>>1; |
rschimpf78 | 5:1b451520ed5f | 62 | myled2 = (count & 0x04)>>2; |
rschimpf78 | 5:1b451520ed5f | 63 | myled = (count & 0x08)>>3; |
rschimpf78 | 5:1b451520ed5f | 64 | count++; |
rschimpf78 | 5:1b451520ed5f | 65 | pc.printf("\ncount:%ld",count); |
rschimpf78 | 5:1b451520ed5f | 66 | } |
rschimpf78 | 5:1b451520ed5f | 67 | |
rschimpf78 | 5:1b451520ed5f | 68 | old_optic = new_optic; |
rschimpf78 | 5:1b451520ed5f | 69 | } |
rschimpf78 | 5:1b451520ed5f | 70 | |
rschimpf78 | 5:1b451520ed5f | 71 | } |
rschimpf78 | 5:1b451520ed5f | 72 | } |