#include <Toggle.h>
const byte but1 = 2;
const byte but2 = 3;
const byte but3 = 4;
const byte but4 = 5;
byte butState = 0;
Toggle b1(but1);
Toggle b2(but2);
Toggle b3(but3);
Toggle b4(but4);
void setup() {
pinMode(12, OUTPUT);
b1.begin(but1);
b2.begin(but2);
b3.begin(but3);
b4.begin(but4);
}
void loop() {
b1.poll();
b2.poll();
b3.poll();
b4.poll();
if (b1.onPress()) {
if (butState == 0b00000000) butState |= 0b00000001;
else clr();
}
if (b2.onPress()) {
if (butState == 0b00000001) butState |= 0b00000010;
else clr();
}
if (b3.onPress()) {
if (butState == 0b00000011) butState |= 0b00000100;
else clr();
}
if (b4.onPress()) {
if (butState == 0b00000111) butState |= 0b00001000;
else clr();
}
if (butState == 0b00001111) {
digitalWrite(12, HIGH);
butState = 0;
}
}
void clr() {
butState = 0;
digitalWrite(12, LOW);
}