// Oefening NHA Les 4-timedelay switchoff
// definieer drie constanten voor de drie LED-kleuren
const int led = 3;    // pinnummer led-rood (D2)
const int button = 2; // pinnummer van de schakelaar
const int time = 1000;// aantal milliseconden tussen de stappen
int status;           // variabele om de status te onthouden
int timer;            // om de tijd af te tellen

void setup() {
  // initialiseer alle drie pins naar de LED als output
  pinMode(led, OUTPUT);
  pinMode(button, INPUT_PULLUP);
}

void loop() {
  // lees de toestand van de schakelaar
  status = digitalRead(button);

  if(status == false)
  {
    // wanneer schakelaar gedrukt, start de timer
    timer = 30;
  }
  else
  {
    if(timer>0)
    {
      // wanneer schakelaar niet gedrukt maar timer
      // nog niet nul; tel af
      timer --;
    }
  }

  if(timer>0)
  {
    // als timer groter dan 0, zet LED aan
    digitalWrite(led, HIGH);
  }
  else
  {
    // anders, zet LED uit
    digitalWrite(led, LOW);
  }
  delay(time);
}