/*
*/
const int LED_1 = 7;
const int LED_2 = 8;
const int BUTTON_IN = 6;
const int STATO_SPENTO = 0;
const int STATO_ACCESO_1 = 1;
const int STATO_ACCESO_2 = 2;
const int STATO_ACCESO_12 = 3;
int stato = STATO_SPENTO;
int lastButton = 0;
// viene eseguita una sola volta
void setup() {
pinMode(LED_1, OUTPUT);
pinMode(LED_2, OUTPUT);
pinMode(BUTTON_IN, INPUT);
}
// viene eseguita in loop infinite volte
void loop() {
int button = digitalRead(BUTTON_IN);
if(button == HIGH) {
if(lastButton == 0) {
lastButton = 1;
switch(stato) {
case STATO_SPENTO:
stato = STATO_ACCESO_1;
break;
case STATO_ACCESO_1:
stato = STATO_ACCESO_2;
break;
case STATO_ACCESO_2:
stato = STATO_ACCESO_12;
break;
case STATO_ACCESO_12:
stato = STATO_SPENTO;
break;
}
digitalWrite(LED_1, led1(stato));
digitalWrite(LED_2, led2(stato));
}
} else {
lastButton = 0;
}
}
int led1(int stato) {
if(stato == STATO_ACCESO_1 || stato == STATO_ACCESO_12) return HIGH;
else return LOW;
}
int led2(int stato) {
if(stato == STATO_ACCESO_2 || stato == STATO_ACCESO_12) return HIGH;
else return LOW;
}
Comments