// Definieer variabelen voor gebruikte pins
int button = 8; // pin knop
int ledPin = 10; // pin led
// variabelen om status van de pins bij te houden
int ledState = LOW;
int currentButtonState; // huidige toestand van de knop
int lastButtonState; // laatste toestand van de knop
void setup()
{
Serial.begin(9600); // Start the serial communication
pinMode(button, INPUT); // knop als input met pullup resistor
pinMode(ledPin, OUTPUT);
currentButtonState = digitalRead(button); // lees initieel waarde van knop in = 0
}
void loop()
{
lastButtonState = currentButtonState; // laastste toestand opslaan
currentButtonState = digitalRead(button); // huidige toestand = nieuw gelezen waarde uit arduino
/*
Serial.print("last_button state is :");
Serial.println(lastButtonState);
Serial.print("current_button state is: ");
Serial.println(currentButtonState);
*/
if(lastButtonState == LOW && currentButtonState == HIGH) // toestand als knop ingedrukt wordt
{
if(ledState == LOW)
{
ledState = HIGH;
Serial.println("Turning LED on");
}
else
{
ledState = LOW;
Serial.println("Turning LED off");
}
// ledpin krijgt nieuwe toestand afhankelijk van zijn vorige
digitalWrite(ledPin, ledState);
}
}