Problème avec analogRead

Bonjour,
J'essaie de "tuner" mon PC en mettant des LED derrière l'écran. Il y 3 x 4 LEDs de couleur (bleu, rouge, jaune). J'ai quatre boutons : 3 permettant de choisir le rythme des lumières et 1 étant censé éteindre toutes les LEDs. Cependant, il n'y a que 2 boutons qui marchent (analogRead A1 et A5).

int pin;
long compteur;

void setup() {
  for (pin=2 ; pin<=13; pin++) {
    pinMode(pin, OUTPUT);
    digitalWrite(pin, 0);
  }

}

void loop() {
  if (analogRead(A5) > 1000) {
      while ( (analogRead(A3) <1000) || (analogRead(A1) < 1000) || (analogRead(A0) < 1000)) {
        
      for (pin=13 ; pin >= 2 ; pin--) {
      digitalWrite(pin, 1);
      delay (250);
      digitalWrite(pin, 0);
    }

      for (pin=2 ; pin <=13 ; pin++) {
      digitalWrite (pin, 1);
      delay(250);
      digitalWrite(pin, 0);
      }
      }
  }

  else if (analogRead(A1) > 1000) {
    for (pin = 2 ; pin <= 13 ; pin++) {
      digitalWrite (pin, 1);
    }
    while ( (analogRead(A5) <1000) || (analogRead(A3) < 1000) || (analogRead(A0) < 1000)) {
      compteur++;
    }
  }

  else if (analogRead(A0) == 1023) {
    for (pin=2 ; pin <= 13 ; pin++) {
      digitalWrite (pin, 0);
    }
    while ( (analogRead(A1) < 1000) || (analogRead(A3) < 1000) || (analogRead(A5) < 1000)) {
      compteur++;
    }
  }

  else if (analogRead(A3) > 1000) {
    while ( (analogRead(A5) <1000) || (analogRead(A1) < 1000) || (analogRead(A0) < 1000)) {
      
      for (pin = 2 ; pin <= 13 ; pin++) {digitalWrite (pin, 0);} //Eteins toutes les LEDs
      
      for (pin = 13 ; pin >= 10; pin--) {digitalWrite (pin, 1);} //Allume les bleues
      
      for (pin = 2 ; pin <=5 ; pin++) {digitalWrite (pin, 1);} //Allume les rouges

      delay (250);

      for (pin = 2 ; pin <= 13 ; pin++) {digitalWrite (pin, 0);} //Eteins toutes les LEDs

      delay (250);

      for (pin = 13 ; pin >= 10; pin--) {digitalWrite (pin, 1);} //Allume les bleues
      
      for (pin = 2 ; pin <=5 ; pin++) {digitalWrite (pin, 1);} //Allume les rouges

      delay(250);

      for (pin = 2 ; pin <= 13 ; pin++) {digitalWrite (pin, 0);} //Eteins toutes les LEDs

      for (pin = 6 ; pin <= 9 ; pin++) {digitalWrite(pin, 1);} //Allume les jaunes

      delay (500);
    }
    
  }
  
}

J'espère que vous pourrez trouver une solution malgré mon manque de clarté.
Merci

Bonjour,

C'est tout simplement que analogRead(A0) n'est jamais égal à 1023.
Pourquoi ne pas utiliser digitalRead avec test sur HIGH et LOW ?
le entrées analogiques sont aussi des entrées numériques.

Le problème c'est que tous les pins de l'Arduino sont pris... Je suis sûr que c'est un problème au niveau de mon programme, mais je sais pas où

La dénomination de "pins analogiques" est une grossière erreur d'Arduino.

TOUTES les pins sont numériques à la mise sous tension.
TOUTES les pins ont des fonctions secondaires

Certaines pins, pour le micro de la UNO celle qui sont raccordées au port C (A0 à A5) , ont comme fonction secondaire de pouvoir être déroutées vers un convertisseur analogique digital (un voltmêtre numérique).