Compte à rebours avec 595

Bonjour, depuis hier matin je patoge sur quelques ligne pour faire un effet compte à rebours avec trois LED et un 595 … Ultra difficile !!!

Mon petit bout de code fonctionne pour le premier lancé, mais perd le comptage aprés avoir lancé les tours suivants

Fonctionnement attendu:

-Appuis sur un bouton pour sélectionner le nombre de tour (valeur :Turn) entre 1 et 3 allumage des LED en fonction > OK

-Appuis sur un autre bouton lancement des tours avec clignotement de la LED (en fonction vitesse moteur valeur :Pot) correspondant au tour entrain de se faire, une fois que le tour est effectué la LED du tour s’éteint puis la LED du prochain tour clignote > OK

-Une fois les tours effectué les LED se rallume en fonction du dernier “Turn Saisie” > OK

-Resélection des tours puis relance des tours, ça bug si je mets 3 tours les deux LED avant s’éteigne et il ne reste plus que la LED du tour qui clignote, pareil pour les tours 2 la LED avant s’éteint…

Je pense que c’est une valeur qui ne se réinitialise pas ou qui part je ne sais ou, et je ne la trouve pas, bref un regard extérieur et plus expérimenté que moi (proche du 0.5) serait le bienvenue…

Voila le petit bout de code qui est en erreur:

  if (Start ==0){for ( int a = 0 ; a <= Turn;a++) {bitSet(Led,a);}};  // Selection LED Turn

   Previous_x = x;
   if (Start == 1){                           //                 Blink For CoutnDown Turn A REVOIR PETIT BUG QUAND ON ARRETE  ET RELANCE LES TOURS?
     x = stepper.distanceToGo();
     x = map (abs( x ) ,0,1539,0,3);
     if (Previous_x != x && x < 3 && Previous_x != 0){
        bitClear(Led,Previous_x);
      }
      unsigned long Bounce_Led = millis();
      if (Bounce_Led - Previous_Blink >= Pot * 60) {
        Previous_Blink = Bounce_Led;
        if (LedBlink == 0) {
          bitSet(Led,x);
          LedBlink = 1;
        }else{
           LedBlink = 0;
           bitClear(Led,x);      
         }
      }
   }

Et le code en entier si jamais y’a un grain de sable ailleurs que là ou je pense…, aprés soyez indulgent je suis pas un expert loin de là, donc mon code doit piquer un peu les personnes un peu plus experte dans le domaine ^^

Link PasteBin

si vous avez des remarques sur le reste du code je prends aussi.

Merci de l’éventuel attention que vous porterez à ma question …

Re, y allez pas tous en mémem temps j'ai pas le temps de tout lire et de tout digérer!!

Plus sérieusement personne pour me mettre sur la bonne voie? Ou ma question ne mérite pas de reponse?

A vot bon coeur M'sieur Dame...

Bon ben j'ai trouvé.... La variable Led_Blink que je ne remettais pas à zéro à chaque arrét !!!

Merci pour votre aide ;)