course work

Dependencies:   LinkedList mbed

Revision:
6:1f9baf8d833e
Parent:
5:15bb8f6b6d85
Child:
7:9ff7df122ff6
--- a/elevator.cpp	Fri Oct 09 00:03:10 2015 +0000
+++ b/elevator.cpp	Sun Oct 11 21:32:14 2015 +0000
@@ -44,17 +44,20 @@
             first = 0;
             once++;
             frequency = 1./time1.read();
+
             
-            if (once == 2){
+            if (once == 200){
                 once = 0;
                 
-                if (frequency >= 900 && frequency <= 1100){currentfloor = 5;}
-                else if (frequency >= 600 && frequency <= 800){currentfloor = 4;led4 = 1;}
-                else if (frequency >= 400 && frequency <= 590){currentfloor = 3;led3 = 1;}
-                else if (frequency >= 200 && frequency <= 300){currentfloor = 2;led2 = 1;}
-                else if (frequency >= 50 && frequency <= 150){currentfloor = 1;}
+                if (frequency >= 900.0f && frequency <= 1100.0f){currentfloor = 5;}
+                else if (frequency >= 600.0f && frequency <= 800.0f){currentfloor = 4;}
+                else if (frequency >= 400.0f && frequency <= 590.0f){currentfloor = 3;}
+                else if (frequency >= 200.0f && frequency <= 300.0f){currentfloor = 2;}
+                else if (frequency >= 50.0f && frequency <= 150.0f){currentfloor = 1;}
         
                 if (currentfloor == requested_floor){
+                    pc.printf("served:   %d floor frequency:  %f \n",currentfloor,frequency);
+            
                     dc_motor.write(0.0f);
                     led1 = 0;
                     led2 = 0;
@@ -69,6 +72,7 @@
                     servo2.write(stationary);
                     busy = 0;
                     location = requested_floor;
+                    pc.printf("at:   %d \n",location);
                     sensor.fall(0);
                     }
 
@@ -79,14 +83,14 @@
     }
     
 void moveUp(){
-    dc_motor.write(1.0f);
+    dc_motor.write(0.9f);
     in1 = 1;
     in2 = 0;
     }
     
 void moveDown(){
     
-    dc_motor.write(1.0f);
+    dc_motor.write(0.9f);
     in1 = 0;
     in2 = 1;
     }
@@ -112,18 +116,18 @@
     if (busy == 0 && next > 0.5){
         requested_floor = next;
         if (location > next){
+            pc.printf("serving:   %d \n",next);
             closeDoor();
             moveDown();
             busy = 1;
-            led1 = 1;
             sensor.fall(&serve);
             }
             
         else if (location < next ){
+            pc.printf("serving:   %d \n",next);
             closeDoor();
             moveUp();
             busy = 1;
-            led1 = 1;
             sensor.fall(&serve);
             }
     }
@@ -150,31 +154,30 @@
  //   thirdfloor.rise(&call3); 
  //   fourthfloor.rise(&call4); 
  //   fifthfloor.rise(&call5);
-    location = 2;
+    location = 1;
  //   
 
     while(1){
         
         while(busy == 0){
         
-            if (an.read()*3.3f > 0.62f && an.read()*3.3f < 1.0f ){requested_floor1 = 1;}    
-            else if (an.read()*3.3f > 1.20f && an.read()*3.3f < 1.60f ){requested_floor1 = 2;} 
-            else if (an.read()*3.3f > 1.70f && an.read()*3.3f < 2.3f ){requested_floor1 = 3;} 
-            else if (an.read()*3.3f > 2.4f && an.read()*3.3f < 2.9f ){requested_floor1 = 4;} 
-            else if (an.read()*3.3f > 3.0f && an.read()*3.3f < 3.5f ){requested_floor1 = 5;}
+            if (an.read()*3.3f > 0.62f && an.read()*3.3f < 1.0f ){requested_floor1 = 1;}      //1
+            else if (an.read()*3.3f > 1.20f && an.read()*3.3f < 1.60f ){requested_floor1 = 2;}//2
+            else if (an.read()*3.3f > 1.70f && an.read()*3.3f < 2.3f ){requested_floor1 = 3;} //3
+            else if (an.read()*3.3f > 2.4f && an.read()*3.3f < 2.9f ){requested_floor1 = 4;}  //4
+            else if (an.read()*3.3f > 3.0f && an.read()*3.3f < 3.5f ){requested_floor1 = 5;}  //5
             else{requested_floor1 = 0;}
             
-            if (an.read()*3.3f > 0.62f && an.read()*3.3f < 1.0f ){requested_floor2 = 1;}    
-            else if (an.read()*3.3f > 1.20f && an.read()*3.3f < 1.60f ){requested_floor2 = 2;} 
-            else if (an.read()*3.3f > 1.70f && an.read()*3.3f < 2.3f ){requested_floor2 = 3;} 
-            else if (an.read()*3.3f > 2.4f && an.read()*3.3f < 2.9f ){requested_floor2 = 4;} 
+            if (an.read()*3.3f > 0.62f && an.read()*3.3f < 1.0f ){requested_floor2 = 1;led1 = 1;}    
+            else if (an.read()*3.3f > 1.20f && an.read()*3.3f < 1.60f ){requested_floor2 = 2;led2 = 1;} 
+            else if (an.read()*3.3f > 1.70f && an.read()*3.3f < 2.3f ){requested_floor2 = 3;led3 = 1;} 
+            else if (an.read()*3.3f > 2.4f && an.read()*3.3f < 2.9f ){requested_floor2 = 4; led4 = 1;} 
             else if (an.read()*3.3f > 3.0f && an.read()*3.3f < 3.5f ){requested_floor2 = 5;}
             else{requested_floor2 = 0;}
             
             if (requested_floor1 != requested_floor2) {requested_floor = 0;}
             else{requested_floor = requested_floor1;}
-            pc.printf("%f \n",an.read()*3.3f);
-            pc.printf("%d \n",requested_floor);
+            
             call(requested_floor); 
             }
  }