test

Dependencies:   mbed

Dependents:   MouseHybridSenseCode

Revision:
5:dfea493f7a12
Parent:
4:f1670eec4681
Child:
6:a652deaae134
--- a/main.cpp	Wed Mar 07 19:27:13 2018 +0000
+++ b/main.cpp	Sun Mar 11 13:15:34 2018 +0000
@@ -1,103 +1,108 @@
-#include "mbed.h"
-#include "funcdef.h"
+#include <mbed.h>
+#include <funcdef.h>
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//Initialise Global Variables
+
+int sensorValue[] = {0,0,0,0,0,0,0,0};
+
+int sensorMinValue[] = {0,0,0,0,0,0,0,0};
+int sensorMaxValue[] = {0,0,0,0,0,0,0,0};
+
+int sensorMinValue1[] = {0,0,0,0,0,0,0,0};
+int sensorMaxValue1[] = {0,0,0,0,0,0,0,0};
+
+int sensorMinValue2[] = {0,0,0,0,0,0,0,0};
+int sensorMaxValue2[] = {0,0,0,0,0,0,0,0};
+
+int sensorThreshold[] = {0,0,0,0,0,0,0,0};
+int sensorErrors[] = {0,0,0,0,0,0,0,0};
+
+int Prop=0;
+//int Inte;//=0;
+//int Dere;//=0;
+int errorVar=0;
+int previousError=0; 
+int PIDs=0;
+int accumulator=0;
+int counter=0;
+int delayBetweenPulses_ms=0;
+int note=0;
+int initialMotorspeed = 250;
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//Interupt Definition 
+
+Ticker beeper; 
+void beep()
+{    
+    if (counter == 5)
+    {
+        beeperVal.pulsewidth_us(0);
+        counter=(-1*((delayBetweenPulses_ms/10)+1));
+    }
+    else if (counter==0)
+    {
+        beeperVal.period_us(note);
+        beeperVal.pulsewidth_us(note/2); 
+    }
+    counter++;   
+    return;
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//Main Code
 
 int main() 
-{
-    leftMotorVal.period_us(100);
-    rightMotorVal.period_us(100);
-        
-    while(1)
-    {
-     
-        leftMotorVal.write(0.00125*200);
-        rightMotorVal.write(0.00125*200);
-        wait(3);
-        
-        leftMotorVal.write(0.00125*200);
-        rightMotorVal.write(0.00125*200);
-        wait(3);
-        
-    }
+{    
+    //CONFIGURE BEEPER    
+    note=period_F6;
+    beeperVal.period_us(note);
+    beeperVal.pulsewidth_us(0);
     
+    //CONFIGURE MOTORS & TURN OFF LED
     LEDVal=0;
-    
-    leftMotorVal.write(0.00125*0);
-    rightMotorVal.write(0.00125*0);
+    leftMotorVal.period_us(1000);
+    rightMotorVal.period_us(1000);
+    leftMotorVal.pulsewidth_us(0); 
+    rightMotorVal.pulsewidth_us(0);
     
-    LEDVal=1;
-    CalibrateFunc(); 
+    wait_ms(1000); 
     
-    LEDVal=0;
-    printf("sensorMinValue1    "); 
-    for (int i=0;i<=7;i++)
-    {
-        if (i==7)
-        {
-            printf("  %d\r\n",sensorMinValue1[i]);
-        }
-        printf("  %d",sensorMinValue1[i]);                  
-    } 
+    //START BEEPER 20HZ % TURN LED ON
+    LEDVal=1; 
+    counter=0;    
+    delayBetweenPulses_ms=50;    
+    beeper.attach(&beep, 0.01);
+    //beeper.detach();
     
-    printf("sensorMinValue2    "); 
-    for (int i=0;i<=7;i++)
-    {
-        if (i==7)
-        {
-            printf("  %d\r\n",sensorMinValue2[i]);
-        }
-        printf("  %d",sensorMinValue2[i]);                  
-    } 
+    //BEGIN CALIBRATION
+    CalibrateFunc();
+    printCalibrateValues();   
     
-    printf("sensorMinValue    ");    
-    for (int i=0;i<=7;i++)
-    {
-        if (i==7)
-        {
-            printf("  %d\r\n",sensorMinValue[i]);
-        }
-        printf("  %d",sensorMinValue[i]);                  
-    } 
-   
-    printf("sensorMaxValue1   ");      
-    for (int i=0;i<=7;i++)
-    {
-        if (i==7)
-        {
-            printf("  %d\r\n",sensorMaxValue1[i]);
-        }
-        printf("  %d",sensorMaxValue1[i]);                  
-    }   
+    //TURN OFF LED AND SET PULSES TO 2 HZ
+    LEDVal=0; 
+    counter=0;    
+    delayBetweenPulses_ms=500;    
+    //beeper.attach(&beep, 0.01);
     
-    printf("sensorMaxValue2   ");      
-    for (int i=0;i<=7;i++)
-    {
-        if (i==7)
-        {
-            printf("  %d\r\n",sensorMaxValue2[i]);
-        }
-        printf("  %d",sensorMaxValue2[i]);                  
-    }  
+    //WAIT 3 SECONDS AND DETACH BEEPER FOR MAIN RUN
+    counter=0; 
+    beeper.detach();
+    wait_ms(3000);
+    /*
+    //FIND LINE
+    findLineFunc();
+    counter=0;    
+    delayBetweenPulses_ms=500;    
+    beeper.attach(&beep, 0.01);
     
-    printf("sensorMaxValue   ");      
-    for (int i=0;i<=7;i++)
-    {
-        if (i==7)
-        {
-            printf("  %d\r\n",sensorMaxValue[i]);
-        }
-        printf("  %d",sensorMaxValue[i]);                  
-    }
+    //ONCE FOUND, HAND OVER TO MAIN ALGORITHM 
     
-    printf("sensorThreshold   ");      
-    for (int i=0;i<=7;i++)
-    {
-        if (i==7)
-        {
-            printf("  %d\r\n",sensorThreshold[i]);
-        }
-        printf("  %d",sensorThreshold[i]);                  
+    while(1)
+    {     
+        senseFunc();
+        calculateFunc();
+        driveFunc();        
     }
-    
-    LEDVal=1;
+    */
     return 0;
 }
\ No newline at end of file