#define rosso 11
#define verde 10
#define blu 9
#define pulsante 2
#define spegnimento 4
int stato = 0;
//0 spento, 1 acceso rosso, 2 acceso verde, 3 acceso blu
int valorepulsante;
int valorespegnimento;
void setup() {
pinMode(rosso, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(blu, OUTPUT);
pinMode(pulsante, INPUT);
pinMode(spegnimento, INPUT);
Serial.begin(9600);
}
void loop() {
valorepulsante = digitalRead(pulsante);
valorespegnimento = digitalRead(spegnimento);
switch (stato){
case 0:
statospento();
break;
case 1:
statorosso();
break;
case 2:
statoverde();
break;
case 3:
statoblu();
break;
}
}
void statospento(){
int numeri = 0;
if(valorepulsante == 1){
stato = 1;
delay(500);
}
if(valorespegnimento == 1){
stato = 1;
}
analogWrite(rosso, 255);
analogWrite(verde, 255);
analogWrite(blu, 255);
}
void statorosso(){
if(valorepulsante == 1){
stato = 2;
delay(500);
}
if(valorespegnimento == 1){
stato = 0;
delay(500);
}
analogWrite(rosso, 0);
analogWrite(verde, 255);
analogWrite(blu, 255);
}
void statoverde(){
if(valorepulsante == 1){
stato = 3;
delay(500);
}
if(valorespegnimento == 1){
stato = 0;
delay(500);;
}
analogWrite(rosso, 255);
analogWrite(verde, 0);
analogWrite(blu, 255);
}
void statoblu(){
if(valorepulsante == 1){
stato = 0;
delay(500);
}
if(valorespegnimento == 1){
stato = 0;
delay(500);
}
analogWrite(rosso, 255);
analogWrite(verde, 255);
analogWrite(blu, 0);
}Pulsante di cambio colore
Pulsante di spegnimento