problème de lecture d'un bouton poussoir

Bonjour ! cela fait maintenant plusieurs semaines que j'essaie de faire aboutir ce projet.
il consiste en un code a boutons qui a chaque partie du code trouvé allumera en vert la LED correspondant a la partie du code trouvée et en rouge dans le cas échéant. j'ai créé le programme pour une arduino mega.
voila ce programme :

//led 1
int led1b = 53;
int led1v = 52;
int led1r = 51;
//led 2
int led2b = 50;
int led2v = 49;
int led2r = 48;
//led 3
int led3b = 47;
int led3v = 46;
int led3r = 45;
//led 4
int led4b = 44;
int led4v = 43;
int led4r = 42;
//led 5
int led5b = 41;
int led5v = 40;
int led5r = 39;
//led 6
int led6b = 38;
int led6v = 37;
int led6r = 36;

int bouton1 = 13; //bleu
int bouton2 = 12; //rouge
int bouton3 = 11; //vert
int bouton4 = 10; //jaune
int bouton5 = 9; //violet
int bouton6 = 8; //blanc

//int buzzer=A0;

int bouton = 0;

void setup() {
  pinMode(led1b, OUTPUT);
  pinMode(led1v, OUTPUT);
  pinMode(led1r, OUTPUT);
  pinMode(led2b, OUTPUT);
  pinMode(led2v, OUTPUT);
  pinMode(led2r, OUTPUT);
  pinMode(led3b, OUTPUT);
  pinMode(led3v, OUTPUT);
  pinMode(led3r, OUTPUT);
  pinMode(led4b, OUTPUT);
  pinMode(led4v, OUTPUT);
  pinMode(led4r, OUTPUT);
  pinMode(led5b, OUTPUT);
  pinMode(led5v, OUTPUT);
  pinMode(led5r, OUTPUT);
  pinMode(led6b, OUTPUT);
  pinMode(led6v, OUTPUT);
  pinMode(led6r, OUTPUT);

  pinMode(bouton1, INPUT_PULLUP);
  pinMode(bouton2, INPUT_PULLUP);
  pinMode(bouton3, INPUT_PULLUP);
  pinMode(bouton4, INPUT_PULLUP);
  pinMode(bouton5, INPUT_PULLUP);
  pinMode(bouton6, INPUT_PULLUP);

  Serial.begin(9600);
}
int sequence1[] = {1, 2, 3, 4, 5, 6};

void loop () {
  for (int a = 1; a = 6; a++ ) {
    Serial.println(a);
    Serial.println(attenteBouton());
    if (attenteBouton() == sequence1[a]) {
      switch (a) {
        case 1: {
            digitalWrite(led1v, HIGH);
            break;
          }
        case 2: {
            digitalWrite(led2v, HIGH);
            break;
          }
        case 3: {
            digitalWrite(led3v, HIGH);
            break;
          }
        case 4: {
            digitalWrite(led4v, HIGH);
            break;
          }
        case 5: {
            digitalWrite(led5v, HIGH);
            break;
          }
        case 6: {
            digitalWrite(led6v, HIGH);
            break;
          }
      }
    }
    else {
      switch (a) {
        case 1: {
            digitalWrite(led1r, HIGH);
            break;
          }
        case 2: {
            digitalWrite(led2r, HIGH);
            break;
          }
        case 3: {
            digitalWrite(led3r, HIGH);
            break;
          }
        case 4: {
            digitalWrite(led4r, HIGH);
            break;
          }
        case 5: {
            digitalWrite(led5r, HIGH);
            break;
          }
        case 6: {
            digitalWrite(led6r, HIGH);
          }
          if (a = 6) {

          }
      }
    }
  }
}

int attenteBouton() {
  bouton = 0;
  do {
    if (byte(digitalRead(bouton1)) == LOW) {
      bouton = 1;
      delay(25);
    }
    if (byte(digitalRead(bouton2)) == LOW) {
      bouton = 2;
      delay(25);
    }
    if (byte(digitalRead(bouton3)) == LOW) {
      bouton = 3;
      delay(25);
    }
    if (byte(digitalRead(bouton4)) == LOW) {
      bouton = 4;
      delay(25);
    }
    if (byte(digitalRead(bouton5)) == LOW) {
      bouton = 5;
      delay(25);
    }
    if (byte(digitalRead(bouton6)) == LOW) {
      bouton = 6;
      delay(25);
    }
  } while (bouton = 0);
    while ((!digitalRead(bouton1)) || (!digitalRead(bouton2)) || (!digitalRead(bouton3)) || (!digitalRead(bouton4)) || (!digitalRead(bouton5)) || (!digitalRead(bouton6))) {

    }
  return bouton;
}

si quelqun comprends l'erreur que j'ai faite, merci d'avance de m'expliquer l'erreur.
NaNoPi

Hello,
Dans la ligne for
F=6, ne va pas
Il faut < ou > ou <= ou >=

Une erreur ici :
if (a = 6) {devrait êtreif (a == 6) {et comme dit dfghfor (int a = 1; a = 6; a++ )devrait êtrefor (int a = 1; a < 6; a++ )
Ensuite, pas besoin de byte dans ces lignes :if (byte(digitalRead(bouton1)) == LOW) {Ceci est suffisantif (digitalRead(bouton1) == LOW) {

D'une manière générale, tu pourrais grandement simplifier ton code en utilisant des tableaux

#define NumLeds
byte bouton[5]={13,12,11,10,9,8};
byte ledr[5]={51,48,45,42,39,36};
// etc...

Tout le reste du programme peut alors être écrit avec des boucles ou en utilisant les indices des tableaux : les pinmode, les digitalWrite, les digitalRead, ce qui fera un code bien plus compact.