Treppenlauflicht

So nun hab ich endlich wieder ein bisschen mehr Zeit. Prüfungen sind vorbei und nun kann ich mich wieder ein wenig mehr mit mein Projekt beschäftigen. Bzw. habe ich es geschafft mit ein bisschen Hilfe ein Sketch zu schreiben das wie meine Vorstellungen Funktioniert.
Ein Problem habe ich allerdings: Wenn der untere PIR (PIR_Bottom) reagiert, schaltet die in dem Falle erste LED nicht ein (PIN_13), wenn der obere PIR (PIR_TOP) geht sie schon an.
Erkennt jemand den Fehler woran das liegen könnte?

#include <SPI.h>

#define  PIR_TOP_PIN A1
#define  PIR_BOTTOM_PIN A2
int i = 1;
int LedAnPause = 100;
int zaehler;
int richtung; 
int pirWert;
void setup() {
  // put your setup code here, to run once:
  for(zaehler = 0;zaehler<13;zaehler++){
    pinMode(zaehler, OUTPUT);
  }
}

void loop() {
  // put your main code here, to run repeatedly:
  richtung = 0;
  pirWert = 0;
  pirWert = analogRead(PIR_TOP_PIN);
//  LichtAn(1);
//  delay(2000);
//  LichtAus();
//  delay(1000);
//  LichtAn(2);
//  delay(2000);
//  LichtAus();
  if(pirWert > 1022)// falls Katze kommt
  {
    richtung = 1;
    LichtAn(richtung);
    delay(10000);
    LichtAus();
  }
  pirWert = analogRead(PIR_BOTTOM_PIN);
  if(pirWert > 1022)// falls Katze kommt  
  {
    richtung = 2;
    LichtAn(richtung);
    delay(10000);
    LichtAus();
  }
}

void LichtAus()
{
  int i;
  for(i=0;i< 13;i++){
//    if(anrichtung = 1)
//    {
//      ledCounter++;
//    }
//    else
//    {
//      ledCounter--;
//    }
//    digitalWrite(ledCounter, LOW);
//    delay(LedAnPause);
    digitalWrite(i, LOW);
  }
  
}
void LichtAn(int anrichtung)
{
  int i;
  int ledCounter = 0;
   Serial.println(anrichtung); 
  if(anrichtung == 1)
  {
    ledCounter = 0;
  }
  if(anrichtung == 2)
  {
    ledCounter = 12;
  }
  for(i=0;i< 13;i++){
    if(anrichtung == 1)
    {
      ledCounter++;
    }
    else
    {
      ledCounter--;
    }
     Serial.println(ledCounter); 
    digitalWrite(ledCounter, HIGH);
    delay(LedAnPause);
  }
    
}