projet éclairage escalier led

bonjour les amis arduineur,

j'ai téléversé le programme modifier comme dessous et malheur sa ne fonctionne pas!!!.

par précaution, j'ai fait l'essai avec un simple interrupteur pour voir si sa venait de mes capteurs mais toujours le même problème.

que dois je faire?

 // 
const byte Detecteurhaut = 45;
const byte Detecteurbas = 47;
// Numéros des pins des leds, du bas vers le haut
const byte pinMarches[] = {2, 3, 4, 5, 6, 7, 8, 9, 38, 40, 42, 44, 46};
const byte NMarches = sizeof(pinMarches) / sizeof(pinMarches[0]);

byte Etat_det_haut = 0;
byte Etat_det_bas = 0;

void Montee (bool state) {
  // Allumer ou éteindre les marches une par une à partir du bas
  for (byte i = 0; i < NMarches; i++)
  {
    digitalWrite(pinMarches[i], state);
    int duration = 50 * pinMarches[i];
    if (pinMarches[i] > 30) duration = 500 + (pinMarches[i] - 38) * 25;
    delay(duration);
  }
}

void Descente (bool state) {
  // Allumer ou éteindre les marches une par une à partir du haut
  for (byte i = NMarches - 1; i >= 0 ; i--)
  {
    digitalWrite(pinMarches[i], state);
    int duration = 350 + 50 * (9 - pinMarches[i]);
    if (pinMarches[i] > 30) duration = 100 + (46 - pinMarches[i]) * 25;
    delay(duration);
  }
}


void setup()
{
  for (int i = 0; i < NMarches; i++) pinMode(pinMarches[i], OUTPUT);
  pinMode(Detecteurhaut, INPUT);
  pinMode(Detecteurbas, INPUT);
}

void loop() {
  Etat_det_haut = digitalRead(Detecteurhaut);
  Etat_det_bas = digitalRead(Detecteurbas);
  if (Etat_det_bas == HIGH) {
    Montee (HIGH);
    while (Etat_det_haut != HIGH); Etat_det_haut = digitalRead(Detecteurhaut);
    Montee (LOW);
  } else if (Etat_det_haut == HIGH) {
    Descente (HIGH);
    while (Etat_det_bas != HIGH) Etat_det_bas = digitalRead(Detecteurbas);
    Descente (LOW);
  }
}
[code/]