//*een lamp aan en uit schakelen met de arduino als state machine*//
//definitie van de inputs- outputs
#define PIN_LED 4
#define PIN_SWITCH 2
// definitie van de statussen
#define LED_AAN 1
#define LED_UIT 2
//definities van variabelen
byte stateLed = LED_UIT;
bool standSchakelaar = 0;
bool checkSchakelaar ();
void setup() {
pinMode(PIN_LED, OUTPUT);
pinMode(PIN_SWITCH, INPUT);
Serial.begin (115200);
Serial.println("setup is klaar");
// put your setup code here, to run once:
}
void loop() {
switch (stateLed) {
case LED_UIT:
// code als lamp uit is
if (checkSchakelaar ()) {
stateLed = LED_AAN;
digitalWrite(PIN_LED, HIGH);
}
break;
case LED_AAN:
//code als lamp aan is
if (!checkSchakelaar ()) {
stateLed = LED_UIT;
digitalWrite(PIN_LED, LOW);
}
break;
default:
Serial.println ("pas op: lamp is niet aan of niet uit");
break;
}
}
bool checkSchakelaar () {
return digitalRead(PIN_SWITCH);
}