programme ines avce xbee
Dependencies: MMA8451Q mbed xbee_lib
Fork of Programme_course by
Diff: Mlib.cpp
- Revision:
- 1:4a9196bcf97a
- Parent:
- 0:3ec7fc598e48
- Child:
- 2:ddf9879f0e25
--- a/Mlib.cpp Thu Jan 26 07:37:45 2017 +0000 +++ b/Mlib.cpp Wed Feb 08 15:16:04 2017 +0000 @@ -1,8 +1,69 @@ #include "Mlib.h" +void Gestion_bosse() +{ + if(BOSSE_ACTIVE)//Si on active la détection de la bosse + { + led5=0; + led6=0; + led7=0; + + pc.printf("bosse: %d , X: %1.2f , ajustement : %hi\n ",bosse,middle_3F(last_three),ajust_vit_bosse); + + + last_three[2] = last_three[1]; // les 3 dernieres valeurs de X sont stockées daans un tableau + last_three[1] = last_three[0]; + last_three[0] = acc.getAccX(); + + if(bosse == 1) + { + ajust_vit_bosse = 60; + led6=1; + led4=1; + } + else if(bosse == 3) + ajust_vit_bosse = -80; + + else + { + ajust_vit_bosse = 0; + led7=1; + led1=1; + } + + if((abs(middle_3F(last_three)) > 0.13 ) && (bosse == 0)) // si montée détectée + { + bosse = 1; + //tep = (int)t_debut.read_ms(); + } + else if(bosse == 1 && (middle_3F(last_three) > -0.1)) + { + bosse = 2; + } + else if(bosse == 2 && (middle_3F(last_three) > 0.19)) + { + bosse = 3; + + } + else if(bosse==3 && (middle_3F(last_three) > 0.19)) + { + ajust_vit_bosse = -50; + led5=1; + led2=1; + pc.printf("bosse: %d , X: %1.2f , ajustement : %hi\n",bosse,middle_3F(last_three),ajust_vit_bosse); + } + + else if (bosse==3 && (middle_3F(last_three) < 0.19)) + { + bosse=0; + ajust_vit_bosse=0; + } + } +} + /***********AUTRES_FCT***************/ -char middle_3(char *tab) +char middle_3(char *tab) // prend la valeur du milieu quand les valeurs sont rangées { tri_a_bulle(tab, 3); return tab[1]; @@ -21,7 +82,7 @@ } -void tri_a_bulle(char* t, int const size) +void tri_a_bulle(char* t, int const size) // permet de trier les valeurs du tableau dans l'ordre croissant { int en_desordre = 1; int i,j; @@ -115,7 +176,7 @@ static int p = 0; p++; wait(0.1); - if(BP2) + if(BP2) // bouton B { seuil_der++; if(seuil_der == 2) seuil_der = -1;