#include <Bounce2.h>
const int pinP1 = 8;
const int pinP2 = 9;
const int pinLed1 = 10;
const int pinLed2 = 11;
const int pinLed3 = 12;
// dichiaro due pulsanti "virtuali" con debunce
Bounce2::Button P1 = Bounce2::Button();
Bounce2::Button P2 = Bounce2::Button();
int numeroFase = 1;
void setup() {
P1.attach(pinP1, INPUT_PULLUP);
P2.attach(pinP2, INPUT_PULLUP);
int indiceLed;
for ( indiceLed = pinLed1; indiceLed <= pinLed3; indiceLed++) {
pinMode(indiceLed, OUTPUT);
digitalWrite(indiceLed, LOW);
}
}
void loop() {
P1.update();
P2.update();
if ( P1.fell() ) {
numeroFase = numeroFase + 1;
if (numeroFase > 3) {
numeroFase = 1;
}
}
if ( P2.fell() ) {
numeroFase = 1;
}
switch (numeroFase) {
case 1:
// fase 1
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, HIGH);
break;
case 2:
// fase 2
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, LOW);
break;
case 3:
// fase 3
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW);
break;
}
}