Interruption temporelle :
long Depart;
boolean Flag;
....
if(digitalRead(10)==HIGH){ // un bouton est appuyé
Depart=millis();
Flag=TRUE; // on lève le flag pour signigier une nouvelle action
}
if((millis()-Depart)>analogRead(Potar*Facteur) && Flag==TRUE){ // si le temps est écoulé et que l'action ne s'est pas déjà produite
Action();
Flag=FALSE; // le flag est abaissé pour eviter de relancer Action() au prochain passage
}