   Serial.print(F("Direction lue: "));
   Serial.println(direction_filtre);
 
+  Serial.print(F("La vitesse commandee est: ")); 
+  Serial.println(vitesse_gd_cmd); 
+  
 #endif
 
 }

  
  if(digitalRead(bouton) == LOW) {
    // Vitesse basee sur la distance arriere
    vitesse_av_cmd = map(ir_arriere_filtre, 184, 850, 20, 255);
  }
  else if(mannette_mouvement_actuel == arrete) {
    // Freinage
    vitesse_av_cmd = constrain((int)pid(moteur_integrale_erreur, 
                                     moteur_erreur_prec,
                                     0,
                                     vitesse_tic_par_cycle,
                                     moteur_av_gain_pid), -255, 255);
  }
  else {   
    if(mannette_mouvement_actuel == avance) {


// Parametres de filtrage
const int filtre_batterie_decal = 7;
const int filtre_direction_decal = 1;
const int filtre_ir_decal = 4;
const int filtre_mannette_pot_decal = 1;

// Parametres de controle des moteurs
const int pwm_max = 255;

const int vitesse_av_moteur_nom = int(0.2f * 255.0f);
const int vitesse_zero_tol_tic_par_cycle = 3;
const float moteur_av_gain_pid[3] = {0.05f, 0.01f, 0.0f};
const int moteur_av_zone_morte = 0;

const float moteur_gd_gain_pid[3] = {0.20f, 0.0f, 0.05f};
const int moteur_gd_zone_morte = 50;
const int moteur_gd_vitesse_max = 150;

// Periodes entre les appels de fonction
const int periode_affichage_ms          = 1000; 
const int periode_controle_moteurs_ms   = 10;
const int periode_lecture_analogique_ms = 5;
const int periode_controle_led_ms       = 10;


