Final Version of food controller

Dependencies:   MMA8451Q TSI mbed

Fork of foodcontroller_NoWiFi by Serpentine

Revision:
5:c4bc5a92390a
Parent:
4:1961b60aa8fb
--- a/main.cpp	Thu Jun 09 10:31:59 2016 +0000
+++ b/main.cpp	Thu Jun 09 14:44:14 2016 +0000
@@ -5,20 +5,19 @@
 #define MMA8451_I2C_ADDRESS (0x1d<<1)
 Serial pc(USBTX, USBRX); // tx, rx
 
-PwmOut gled(LED_GREEN);                             //Indicator for touch sensor Output
-TSISensor tsi;                                      //Setup touch sensor
-MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);    //Setup accelerometer
-DigitalOut lefthigh(PTC11);                         //Test LED for left
-DigitalOut leftlow(PTC9);
-DigitalOut righthigh(PTC5);                         //Test LED for right
-DigitalOut rightlow(PTA4);
-DigitalOut forwardhigh(PTC16);                      //Test LED for forward
-DigitalOut forwardlow(PTD0);
-DigitalOut backwardhigh(PTA17);                     //Test LED for backward
-DigitalOut backwardlow(PTD1);
-
-float accX=acc.getAccX();                           //Measure acceleration in X direction
-float accY=acc.getAccY();                           //Measure acceleration in Y direction
+DigitalOut gled(LED_GREEN);                        //Indicator for touch sensor Output speed 1
+DigitalOut bled(LED_BLUE);                        //Indicator for touch sensor Output speed 2
+DigitalOut rled(LED_RED);                        //Indicator for touch sensor Output speed 3
+TSISensor tsi;                                     //Setup touch sensor
+MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);   //Setup accelerometer
+DigitalOut lefthigh(PTC7);                         //Test LED for left
+DigitalOut leftlow(PTA1);
+DigitalOut righthigh(PTC4);                         //Test LED for right
+DigitalOut rightlow(PTA12);
+DigitalOut forwardhigh(PTC0);                      //Test LED for forward
+DigitalOut forwardlow(PTC3);
+DigitalOut backwardhigh(PTA2);                     //Test LED for backward
+DigitalOut backwardlow(PTD4);
 
 int Direction;                                      //2 bit number to describe direction 0 forward assigned CW
 int Velocity;                                       //2 bit number to vary velocity in game
@@ -35,111 +34,58 @@
         float accY=acc.getAccY();                           //Measure acceleration in Y direction
 
          if (tsi.readDistance() != 0) 
-        {
-//          gled = 1.0 - tsi.readPercentage();          
+        {          
             if (tsi.readDistance() <= 13)
             {
                 Velocity = 3;
+                rled = 0;
+                bled = 1;
+                gled = 1;
             }
             if (tsi.readDistance() > 13 && tsi.readDistance() < 26)
             {
                 Velocity = 2;
+                rled = 1;
+                bled = 0;
+                gled = 1;              
             }
             if (tsi.readDistance() >= 26)
             {
                 Velocity = 1;
+                rled = 1;
+                bled = 1;
+                gled = 0;
             }
-                                   
+                             
             printf("x=%d\r\n",Velocity);
             wait(0.2);
 
 
         }//endif touch sensor 
-
-
-        if((accX <= 0.1f) && (accX >= -0.1f)) 
-        {
-            if (right == false) 
-            {
-                righthigh = 1;
-                rightlow = 0;
-            } //endif
-            else 
-            {
-                lefthigh = 1;
-                leftlow = 0;
-            }//endelse
-        }//endif
-        
+     
         if (accX > 0.1) 
         {
-            lefthigh = 0;
-            leftlow = 0;
-            righthigh = 1;
-            rightlow = 0;
-            forwardhigh = 0;
-            forwardlow = 0;
-            backwardhigh = 0;
-            backwardlow = 0;
             right = false;
-            printf("left \r\n");
+            //printf("left \r\n");
         }//endif
 
         if (accX < -0.1) 
         {
-            lefthigh = 1;
-            leftlow = 0;
-            righthigh = 0;
-            rightlow = 0;
-            forwardhigh = 0;
-            forwardlow = 0;
-            backwardhigh = 0;
-            backwardlow = 0;
             right = true;
-            printf("right \r\n");
+            //printf("right \r\n");
         }//endif
         wait(0.1);    
 
-        if((accY <= 0.1) && (accY >= -0.1)) 
-        {
-            if (forward == false) 
-            {
-                forwardhigh = 1;
-                forwardlow = 0;
-            }//endif 
-            else
-            {
-                backwardhigh = 1;
-                backwardlow = 0;
-            }//endelse
-        }//endif
-
         if (accY > 0.1) 
         {
-            lefthigh = 0;
-            leftlow = 0;
-            righthigh = 0;
-            rightlow = 0;
-            forwardhigh = 1;
-            forwardlow = 0;
-            backwardhigh = 0;
-            backwardlow = 0;
             forward = false;
-            printf("back \r\n");
+            //printf("back \r\n");
         }//endif
 
         if (accY < -0.1) 
         {
-            lefthigh = 0;
-            leftlow = 0;
-            righthigh = 0;
-            rightlow = 0;
-            forwardhigh = 0;
-            forwardlow = 0;
-            backwardhigh = 1;
-            backwardlow = 0;
             forward = true;            
-            printf("for \r\n");
+            //printf("for \r\n");
         }//endif
         
         wait(0.1);
@@ -149,21 +95,61 @@
             if(forward == true)
             {
                 Direction = 0;
+                
+                lefthigh = 0;
+                leftlow = 0;
+                righthigh = 0;
+                rightlow = 0;
+                forwardhigh = 1;
+                forwardlow = 0;
+                backwardhigh = 0;
+                backwardlow = 0;                
+            
             }//endif
             else
             {
-                Direction = 2;   
+                Direction = 2;
+                
+                lefthigh = 0;
+                leftlow = 0;
+                righthigh = 0;
+                rightlow = 0;
+                forwardhigh = 0;
+                forwardlow = 0;
+                backwardhigh = 1;
+                backwardlow = 0;
+                   
             }//endelse
         }//endif
         else
         {
             if(right == true)
             {
-                Direction = 1;   
+                Direction = 1;
+                
+                lefthigh = 0;
+                leftlow = 0;
+                righthigh = 1;
+                rightlow = 0;
+                forwardhigh = 0;
+                forwardlow = 0;
+                backwardhigh = 0;
+                backwardlow = 0;
+             
             }//endif
             else
             {
-                Direction = 3;    
+                Direction = 3;
+                
+                lefthigh = 1;
+                leftlow = 0;
+                righthigh = 0;
+                rightlow = 0;
+                forwardhigh = 0;
+                forwardlow = 0;
+                backwardhigh = 0;
+                backwardlow = 0;                
+                    
             }//endelse
         }//endelse
         
@@ -171,3 +157,4 @@
         
     }//endwhile
 }//endmain
+