//Lamp as state machine
#define PIN_LED 7
#define PIN_SWITCH 4
//status
#define LED_AAN 1
#define LED_UIT 2
//variabelen
byte stateLED = LED_UIT;
//functies
bool switchChecken();
void setup() {
// put your setup code here, to run once:
pinMode(PIN_LED,7);
pinMode(PIN_SWITCH,4);
Serial.begin(115200);
Serial.println("setup uitgevoerd");
}
void loop() {
// put your main code here, to run repeatedly:
switchChecken();
switch (stateLED) {
case LED_UIT:
//code die uitgevoerd wordt als de lamp uit is
if (switchChecken()) {
stateLED = LED_AAN;
digitalWrite(PIN_LED, HIGH);
}
break;
case LED_AAN:
// code die uitgevoerd wordt als de lamp aan is
if (switchChecken()) {
stateLED = LED_UIT;
digitalWrite(LED_UIT, LOW);
}
break;
default:
Serial.println("error");
break;
}
}
bool switchChecken(){
return digitalRead(PIN_SWITCH);
}