![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
attempt 1
Dependencies: mbed
Diff: main.cpp
- Revision:
- 4:857d2663c894
- Parent:
- 3:f45ab902c0ad
- Child:
- 5:d5f2ff7ca039
--- a/main.cpp Fri Mar 27 19:33:46 2015 +0000 +++ b/main.cpp Fri Mar 27 22:24:19 2015 +0000 @@ -3,14 +3,14 @@ //elevator I/O BusOut leds(LED1,LED2,LED3,LED4); -PwmOut EN(p23); -DigitalOut IN1(p24); -DigitalOut IN2(p25); +PwmOut EN(p22); +DigitalOut IN1(p30); +DigitalOut IN2(p29); //p23 LEFT p24 RIGHT PwmOut leftDoor(p21); -PwmOut rightDoor(p22); +//PwmOut rightDoor(p22); InterruptIn irIN(p16); @@ -71,13 +71,13 @@ void openDoors(){ leftDoor= 0.075; //init door closed - rightDoor= 0.125; //itit door closed] + //rightDoor= 0.125; //itit door closed] } void closeDoors(){ leftDoor= 0.125; //init door closed - rightDoor= 0.075; //itit door closed + //rightDoor= 0.075; //itit door closed } void up(){ @@ -115,14 +115,25 @@ irT.start(); } -int temp; +int aggr; +int temp; +int prev; + void irFall() { irT.stop(); float irPeriod = 2 * irT.read_us(); temp = getFloor(irPeriod); - if(temp != 0) - curFloor = temp; + if(temp != 0){ + if(temp == prev) + aggr++; + else aggr = 0; + if(aggr == 15){ + curFloor = temp; + aggr = 0; + } + prev = temp; + } irT.reset(); } @@ -177,8 +188,8 @@ leftDoor.period(1/freq); leftDoor= 0.125; //init door closed - rightDoor.period(1/freq); - rightDoor= 0.075; //itit door closed + //rightDoor.period(1/freq); + //rightDoor= 0.075; //itit door closed int reach = 0;