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
Skizo !