bloquer sur un increment de variabe progressif

Bonjour, désolé de te dire ça mais ton code est bof quand même on peut faire mieux aller regarde:

if (analogRead(pin_freq1) <= 400 && etat == false) // appuie sur le bouton 
{
	 temps = millis();                                         //prise du temps début
	 while(analogRead(pin_freq1) <= 400)            //tant que bouton enfoncé 
        {
	     tempo = millis() - temps;                         //temps depuis appuie
             cpt_sec= millis() - temps - nb_sec;            //compteur seconde depuis appuis toujours <1
	     switch (x)
             {
                       case 1 :
                                   if (tempo >500){ x=2;  ajout=1;}   //minimums pour +1 500ms
                                      break;
                       case 2 :
                                  if (tempo>1000){ x=3; ajout=2;} // passage a +2 si appui + d'une seconde
                                      break;
                       case 3 :
                                   if (tempo>2000){ x=4; ajout=5;} // passage a +5 si appui + de 2 seconde
                                      break;
                       case 4 :
                                  if (tempo>4000) { ajout=10; }  //passage a +5 +1 par tour si appui + de 4 seconde
                                      break;

              }	
              if (cpt_sec>1000)                      // toute les 1 seconde depuis l'appuie sur le bouton
              { 
                      nb_sec++;                         //nb seconde passée
                      compteur=compteur+ajout;   // incrémentation de ton compteur progressif 1/s|0.5s    2/s|1s     5/s|2s     10/s|4s
              }

	} 
}
else
{
   ajout =0;   // remise a 0 de k'ajout progressif
   x=1;        // retour a la case 1 du case progressif
}

voila en éspérant que ça t'aide, manque plus qu'a déclaré tes variable et normalement c'est bon :slight_smile:

Skizo !