/*
*/
const int LED_1 = 7;
const int LED_2 = 9;
const int BUTTON_IN = 6;
const int STATO_SPENTO = 0;
const int STATO_ACCESO = 1;
const int STATO_LAMPEGGIA = 2;
int stato = STATO_SPENTO;
int lastButton = 0;
int led2 = 1;
// 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) {
if(led2 * 2 <= 255) led2 *= 2;
else led2 = 1;
analogWrite(LED_2, led2);
lastButton = 1;
switch(stato) {
case STATO_SPENTO:
stato = STATO_ACCESO;
break;
case STATO_ACCESO:
stato = STATO_LAMPEGGIA;
break;
case STATO_LAMPEGGIA:
stato = STATO_SPENTO;
break;
}
delay(200);
}
} else {
lastButton = 0;
int luce1, luce2;
if(stato == STATO_LAMPEGGIA) {
luce1 = HIGH;
luce2 = LOW;
} else if(stato == STATO_SPENTO) {
luce1 = LOW;
luce2 = luce1;
} else if(stato == STATO_ACCESO) {
luce1 = HIGH;
luce2 = luce1;
} else {
return;
}
digitalWrite(LED_1, luce1);
delay(10);
digitalWrite(LED_1, luce2);
delay(100);
}
}
Comments