// 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);
}