marc le dep

Dependencies:   BSP_DISCO_F429ZI LCD_DISCO_F429ZI TS_DISCO_F429ZI mbed

Revision:
0:4910cdb3d377
Child:
1:59fe933886bd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/automatique.cpp	Thu Mar 29 06:19:39 2018 +0000
@@ -0,0 +1,115 @@
+#include "automatique.h"
+#include "capteur.h"
+
+LCD_DISCO_F429ZI lcd3;
+TS_DISCO_F429ZI ts3;
+TS_StateTypeDef tsState3;
+uint16_t xa, ya;
+
+DigitalOut led1(PG_7); //lente gauche
+DigitalOut led2(PB_4); //rapide
+
+DigitalOut led3(PA_8); //lente droite
+DigitalOut led4(PA_14); //rapide
+
+DigitalOut led5(PC_12); //arrêt
+
+
+int vitesse;
+
+// Pour l'instant avec 1 capteur : ligne = avant ; blanc = arret
+
+void detectiona(){
+     xa = tsState3.X;
+        ya = tsState3.Y;
+        uint8_t text[7];
+        sprintf((char*)text, "%d; %d", xa, ya);
+        lcd3.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);   }
+        
+void freqled(int indice){
+    if (indice==1){
+        led1=!led1;
+        }
+    else if (indice==2){
+        led2=!led2;
+        }
+    else if (indice==3){
+        led3=!led3;
+        }
+    else if (indice==4){
+        led4=!led4;        
+        }
+}  
+                
+        
+
+void action(bool c1, bool c2, bool c3){
+   /* led5=1;
+    led1=0;
+    led2=0;
+    led3=0;
+    led4=0;*/
+    if(c1==false && c2==true && c3==false){
+             led5=0;
+             //clignotement normal des deux LEDs lentes
+             led1=1;
+             led3=1;
+            // freqled(1);
+            // freqled(3);
+             wait(1);
+             led1=0;
+             led3=0;
+            // freqled(1);
+            // freqled(3);
+             wait(1);//(10/vitesse)-(vitesse/1000));
+             }// led1=0;
+            // led3=0;
+    else{
+        led1=1;
+        led2=1;
+        led3=1;
+        led4=1;
+        led5=1; }}
+    
+    
+    
+    
+    
+    
+    
+    
+    
+
+int go_automatique(int vit){
+     vitesse=vit;
+    uint8_t status3 = ts3.Init(lcd3.GetXSize(), lcd3.GetYSize());
+    ts3.GetState(&tsState3); 
+        detectiona();
+    
+    
+    
+    
+    while((xa>225 || xa<12) || (ya<78-20 || ya>288-20)){
+        bool capt1=false;//code(1);
+        bool capt2=code(2);
+        bool capt3=false;//code(3);
+        
+        action(capt1,capt2,capt3);
+        
+      int value=afficher();
+        showIntegerScreen((int)(value),1,0,RIGHT_MODE);
+        showIntegerScreen(0,0,0,RIGHT_MODE);
+        wait(0.2);
+        
+        
+       
+       
+        
+        
+        
+        
+         ts3.GetState(&tsState3); 
+        detectiona();
+        
+        }
+        return(1);}
\ No newline at end of file