marc le dep
Dependencies: BSP_DISCO_F429ZI LCD_DISCO_F429ZI TS_DISCO_F429ZI mbed
automatique.cpp
- Committer:
- Alex_mln
- Date:
- 2018-03-29
- Revision:
- 0:4910cdb3d377
- Child:
- 1:59fe933886bd
File content as of revision 0:4910cdb3d377:
#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);}