allumer led selon un tableau

Bonjour
j’ai un projet pour l’école dans laquelle je travaille.
J’aimerai faire un robot programmable pour lequel on enregistre dans sa mémoire un parcours à exécuter.

Avant de m’attaquer aux moteurs, j’essaye de faire la même chose avec des leds et je suis bloqué.
j’arrive bien à enregistrer mon programme de bouton dans un tableau mais je bloque sur comment allumer mes leds une fois que mon programme est fini.
J’ai 4 boutons et 4 leds + un bouton pour lancer le programme une fois fini.

Si quelqu’un a une idée ou un conseil, ce serait super sympa !

Voici mon script :

int arr[10];
boolean previous = LOW;
unsigned long time1 = 0;
int debounce = 200;
unsigned long time2 = 0;
int index_state = 0;

int play_button = 13; //define pin # for play button

int button[4] = {2,4,6,8}; //store button pins in an array
int leds[4] = {3,5,7,9}; //store led pins in an array

void setup()
{
  for(int n=0;n<10;n++) arr[n] = 0;//initialisition
 Serial.begin(9600);
}

void loop(){
 boolean mode = digitalRead(2) || digitalRead(4) || digitalRead(6) || digitalRead (8);
 while(mode == LOW) mode = digitalRead(2) || digitalRead(4) || digitalRead(6) || digitalRead (8);//wait here till one of the pushbutton goes high;
 //Serial.println("value");
 if( mode == HIGH && previous == LOW && millis() - time1 > debounce) {
 //find out which one is high and store that value in array;
 if(digitalRead(2)) arr[index_state] = 2;
 else if(digitalRead(4)) arr[index_state] = 4;
 else if(digitalRead(6)) arr[index_state] = 6;
 else if(digitalRead(8)) arr[index_state] = 8;
 else ;
 
 //print the value and the index;
 Serial.print(arr[index_state]);
 Serial.print(" Stored in index: ");
 Serial.println(index_state);
 index_state = (index_state + 1) % 10;
 //update value of time1 for button debouncing
 time1 =  millis();
}
 

  //update the value of previous button state
  previous = digitalRead(2) || digitalRead(4) || digitalRead(6) || digitalRead(8);


  }

Merci !

Ben vous dites

si le bouton adéquat est appuyé {
  pour chaque entrée du tableau {
    allumer la led correspondante,
    attendre un peu, 
    puis l’éteindre
  }
}

Il manque des pinMode dans le setup pour déclarer les boutons.

Au besoin, un peu de lecture ici

Merci !
J’ai ajouté ça dans le setup :

void setup()
{
    for(int i = 0;i<5 ;i++){
        pinMode(button[i],INPUT);
        pinMode(leds[i],OUTPUT);
    }

  
  for(int n=0;n<10;n++) arr[n] = 0;//initialisition
  pinMode(play_button, INPUT);
 Serial.begin(9600);
}

mais je n’arrive toujours pas à allumer la led correspondante pour chaque entrée du tableau

C’est un bon début

Essayez avec une boucle for similaire de lire l’état d’une case du tableau et affichez allumé ou éteint suivant sa valeur

ça devrait vous donner des idées

As-tu lu le lien ? Il t'indique comment connecter les boutons.

Bonjour je pense que les boutons sont bien connectés, je vois dans le moniteur quand ils sont pressés.

Mais je n'arrive pas à lire l'état d'une case du tableau pour afficher allumer ou éteint.

En fait ce que j'essaye de faire c'est ça : une fois que le bouton play est pressé, la séquence de boutons est répétée par les leds

https://www.youtube.com/watch?time_continue=6&v=uB_xOTNUSjA&feature=emb_title

Qu’avez vous essayé de coder?

Mettez votre code de cote et écrivez un code qui remplit le tableau et ensuite l’imprime

Avez vous lu comment accéder aux éléments d’un tableau ?