#define buttonPin 4 // pinnr drukknop
#define ledPin 13 // pinnr led
bool ButtonStateNow = 0; // variable om huidige status van de drukknop te bewaren
bool ButtonStateBefore = 0; // variable om vroige status van de drukknop te bewaren
bool LedisOn = 0; // variabele om te onthouden of de les aan of uit is
void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
pinMode(buttonPin, INPUT);
}
void loop() {
ButtonStateNow = digitalRead(buttonPin); // lees toestand switch in
if ((ButtonStateNow == 1) && (ButtonStateBefore == 0) && (LedisOn == 0)) //stijgende flank en led was uit
{
digitalWrite(ledPin, HIGH);
ButtonStateBefore = 1;
LedisOn = 1;
}
else if ((ButtonStateNow == 1) && (ButtonStateBefore == 0) && (LedisOn == 1)) // stijgende flank en led was aan
{
digitalWrite(ledPin, LOW);
ButtonStateBefore = 1;
LedisOn = 0;
}
else if ((ButtonStateNow == LOW) && (ButtonStateBefore == 1)) // dalende flank
{
ButtonStateBefore = 0;
}
delay(5); // eventueel delay invoegen voor ontdendering.
}