byte etat; //numéro de l'état actif byte entreeA; //valeur lue sur l'entrée A byte entreeB; //valeur lue sur l'entrée B int brocheA; //numéro de broche Arduino utilisée pour l'entrée A int brocheB; //numéro de broche Arduino utilisée pour l'entrée B int position; //position angulaire mesurée void setup() { Serial.begin(115200); //configurer et initialiser ce qui doit l'être } void loop() { //lecture et mémorisation des entrées //actions sur transition //évolution de l'état switch (etat){ case 0: if ... etat=...; else if .... etat=....; break; default: } //actions sur état //affichage de la valeur mesurée 10 fois par seconde unsigned int periodiciteTache1=100; static unsigned long timerTache1 = millis(); if (millis() - timerTache1 >= periodiciteTache1) { timerTache1 += periodiciteTache1; Serial.println(position); } }