Treppen Beleuchtung

Hallo Leute,

Ich bin noch ein Anfänger in Sachen Arduino. Habe schon viel gelesen und gelernt, anscheinend noch nicht genug.
Ich habe vor eine Treppenbeleuchtung zu bauen. Der Aufbau sieht etwa so aus:

Die Widerstände sind nur symbolisch dargestellt, in der Schaltung sind natürlich die richtige verbaut.

Für meine Bedürfnisse funktioniert auch alles gut. Nun braucht man hin und wieder Dauerlicht. Dies wollte ich mit 2 Sekunden auf dem Taster drücken realisieren. Zum einschalten und ausschalten.
Und genau da komme ich nicht weiter.
Hier ist noch der Code:

/////////////////////////////////////////
// Wichtig HIGH = Aus und LOW = An !!!//
///////////////////////////////////////
int button1Pin = 2;          // Taster 1 an Pin 2
int button2Pin = 3;         //  Taster 2 an Pin 3

// Einstellungen///////////////////////////////////////////
int warten = 1000;         // Wartezeit bis wieder AUS
int interval1 = 350;      // Schaltinterval für AN
int interval2 = 1000;    // Schaltinterval für AUS
// Einstellungen ende/////////////////////////////////////

void setup() {
  // Pins als Ausgang deklarieren und im Bootmodus auf aus
  for (int i=4; i<11; i++)
  {  
  pinMode(i, OUTPUT); 
  digitalWrite(i, HIGH);
  }
  //starte serial verbindung
    Serial.begin(9600);
}


void loop(){
  
  int button1Pin = digitalRead(2);
  int button2Pin = digitalRead(3);
  
  Serial.println(button1Pin);
  Serial.println(button2Pin);

   if (button1Pin == HIGH) 
   {         
   unten();
   //delay(5);
 }
if (button2Pin == HIGH) 
   {         
   oben();
   //delay(5);
 }
}

/////////////////////////////////
// Schalter Funktion für unten//
///////////////////////////////
void unten() {
 
  for (int i=0; i<11; i++)
  {
    delay(interval1);
  digitalWrite(i, LOW); 
              
  } 
  
   delay(warten);
   
  for (int i=0; i<11; i++)
  {
    delay(interval2); 
  digitalWrite(i, HIGH); 
        
  } 
}



/////////////////////////////////
// Schalter Funktion für oben //
///////////////////////////////

void oben() {
  
  for (int i=10; i>0; i--)
  {
    delay(interval1);
  digitalWrite(i, LOW);        
  } 
  
    delay(warten);
    
  for (int i=10; i>0; i--)
  {
    delay(interval2); 
  digitalWrite(i, HIGH);            
  }             
}

Da benötige ich eure Hilfe.

Gruß
Valerius

Hallo,
mach es so wie ioch hier beschrieben habe, wesentlich einfacher und besser:
http://forum.arduino.cc/index.php?topic=290014.0

Hallo maverick1509
Bei mir ist es so, das ich nur zwei Taster ein mal für oben und ein mal für unten habe. Mehr ist für meine Bedürfnisse auch nicht nötig.
Es soll auch ganz einfach gehalten werden.
Zwei Taster 7 LED Unterputzleuchten ein arduino pro mini 5v und Relaykarte, plus die ganze Sicherungsgeschichte.
Will ich nach oben gehen, so wird der Taster unten angetippt und es geht im Automatikbetrieb alles an, genau so nach unten nur im umgekehrte Reihe. Das funzt auch. Jetzt will ich eine weitere Funktion einfügen, und zwar wenn der Taster zwei Sekunden gedrückt wird soll es in Dauerlicht geschaltet werden, solange bis ein weiteres mal der Taster betätigt wird. Dann soll es wieder in Automatikbetrieb versetzt werden.

Mit delay() wird das nichts. Damit kannst auch während das Delay läuft nicht auf Taster reagieren.

Du musst die verstrichene Zeit mit millis() feststellen. Wir hier grob beschrieben:
http://forum.arduino.cc/index.php?topic=290506.0