#include <Bounce2.h>
#define T1 11
#define T2 10
#define L2 12
#define L1 13
Bounce btn1 = Bounce();
Bounce btn2 = Bounce();
int e = 0;
int z = 0;
void setup()
{
Serial.begin(9600);
btn1.attach(T1, INPUT_PULLUP);
btn2.attach(T2, INPUT_PULLUP);
btn1.interval(10);
btn2.interval(10);
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
}
void eErkennen ()
{
if (!btn2.read())
{
e = 2;
}
if(!btn1.read())
{
e = 1;
}
}
void zustandsUebergang ()
{
switch(e)
{
case 0:
{
z = 0;
break;
}
case 1:
{
z = 1;
break;
}
case 2:
{
if (z == 2)
{
z = 1;
}
else
{
z = 2;
}
break;
}
}
}
void zAuswerten ()
{
if (z == 1)
{
digitalWrite(L1, HIGH);
digitalWrite(L2, LOW);
}
if (z == 2)
{
digitalWrite(L2, HIGH);
digitalWrite(L1, LOW);
}
else
{
digitalWrite(L1, LOW);
digitalWrite(L2, LOW);
}
}
void loop()
{
btn1.update();
btn2.update();
eErkennen();
zustandsUebergang();
zAuswerten();
Serial.println(z);
}