7Robot_Freescale / Mbed 2 deprecated freescal_cup_k22f

Dependencies:   mbed freescal_cup_k22f

Dependents:   freescal_cup_k22f

Revision:
25:f9d3d30cbb5d
Parent:
24:7b04db280873
Child:
26:a836e62e0c98
--- a/source/main.cpp	Sat Jan 17 20:58:26 2015 +0000
+++ b/source/main.cpp	Wed Jan 21 10:30:39 2015 +0000
@@ -18,12 +18,12 @@
 int main() {
  // Initialisation
  
-    int indexMin=0;   
-    int indexMax=127;
+    int indexMin=10; 
+    int indexMax=118;
     int compteur_uart=0;
     int max_detect1=indexMin;
     int min_detect2=indexMin;
-    int index_milieu=(max_detect1+min_detect2)/2;
+    int max_detect=(max_detect1+min_detect2)/2;
     float Kp_servo = 0;
     uart.baud(115200); 
     init_led();
@@ -33,14 +33,19 @@
          
     // Lancement boucle
     while(1){
-        
+        double ordre;
         readline();
         passebas(10);
         derivation();
         //passebas(4); 
-           
-           
-        if (compteur_uart ==50) // on envoit une trame toute les 50 acquisitions de cameras
+        for (int i=0;i<15;i++)
+        {
+            pixel1[i]=0;
+            pixel2[i]=0;
+            pixel1[127-i]=0;
+            pixel2[127-i]=0;
+        } 
+        if (compteur_uart ==2) // on envoit une trame toute les 50 acquisitions de cameras
         {  
             uart.printf("S1");//debug START
             for (int indice_pixel=0; indice_pixel<128; indice_pixel++)   
@@ -73,29 +78,41 @@
         }  
         for (int j=indexMin; j<=indexMax; j++)
         {      
-            if (pixel2[j]<pixel2[min_detect2])
+            if (pixel2[j]>pixel2[min_detect2])
             {
                 min_detect2=j;
             }    
         }  
-        index_milieu=(max_detect1+min_detect2)/2; 
+        max_detect=(max_detect1+min_detect2)/2; 
         // Réduction proportionelle de la vitesse moteur si l'angle du servo augmente
-        if (index_milieu>64)
+        if (max_detect>64)
         {
-            consigne_moteur_1=6*(1-(index_milieu-64)/150.);
-            consigne_moteur_2=6*(1-(index_milieu-64)/100.);
+            consigne_moteur_1=6*(1-(max_detect-64)/150.);
+            consigne_moteur_2=6*(1-(max_detect-64)/100.);
         }
         else
         {
-            consigne_moteur_1=6*(1-(64-index_milieu)/100.);
-            consigne_moteur_2=6*(1-(64-index_milieu)/150.); 
+            consigne_moteur_1=6*(1-(64-max_detect)/100.);
+            consigne_moteur_2=6*(1-(64-max_detect)/150.); 
         }
         // Lecture du potentiometre
-        Kp_servo=2.0*pot1.read_u16()/65000.0;
+        Kp_servo=2.0*pot1.read();
+        ordre=(/*consigne*/0-((127-max_detect1)-min_detect2));//ya une merde ici
+
+     
+        ordre=ordre/254+0.5;
         
-        servo = Kp_servo*(index_milieu/128.0-0.5)+0.5;
+        if (ordre >=0.88)
+            servo=0.88;
+        else if (ordre <=0.22)
+            servo=0.22;
+        else
+            servo= ordre; 
+        
+        uart.printf("a=%d, b=%d \n\r",max_detect1,min_detect2);
+        
 
-
+      
     }
 }