Gestion d'un signal carré

Bonjour,
j'ai trouvé une solution et j'ai un code qui fonctionne avec le modulo, j'ai rajouté une action qui réinitialise le comptage à zéro de manière à sortir du "if state ==3":

int state= comptageImpulsion  % 4;               //modulo
if (state==3 )                                   //utilisation Modulo
(comptageImpulsion = 0);                         //on réinitialise comptageImpulsion à 0, dès que "delay" est passé on sort de la fonction "if (state==3 )"
digitalWrite(ledPin2,LOW);                       //l'alimentation  est coupé sur la borne 9, la LED  s’éteind
delay (1000);                                    //pendant 1000ms pour visualiser la coupure
}
                      
digitalWrite(ledPin2,HIGH);                      //l'alimentation est envoyé sur la borne 9, la LED  s’allume
}

Merci encore.
Je vais pouvoir ajouter la partie du code ou la sélection des modes est dictée par un capteur analogique.