automatización iluminación

Hola.
¿Lo has conseguido ya? Mira a ver si este código pudiera servirte.

bool A;
int E=11;
int S=2;
long Tiempopulsacion=0;
long Tiempoespera=5000;
long Tiempoesperado=5000;
void setup(){
   pinMode(E, INPUT);
   pinMode(S, OUTPUT);
}
void loop(){
   A=digitalRead(E);
   if(A==HIGH)
   {
      digitalWrite(S, HIGH);
      Tiempoesperado=0;
      Tiempopulsacion=millis();
   }
   if (Tiempoesperado<Tiempoespera){
      Tiempoesperado=millis()-Tiempopulsacion;
   } else {
      digitalWrite(S,LOW);
   }
}

Saludos.