bool flag = false;
bool lastButtonState = HIGH;
int step = 0;
int contatore = 0;
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, INPUT_PULLUP);
pinMode(A1, OUTPUT);
}
void tuttiAccesi(){
digitalWrite(3, HIGH);
digitalWrite(2, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(A1, HIGH);
}
void tuttiSpenti(){
digitalWrite(3, LOW);
digitalWrite(2, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(A1, LOW);
}
void loop() {
bool reading = digitalRead(13);
if (reading == LOW && lastButtonState == HIGH) {
contatore++;
step = 0;
if (contatore == 4){
tuttiSpenti();
contatore = 0;
}
}
lastButtonState = reading;
switch(contatore) {
case 1:
tuttiSpenti();
switch(step){
case 0:
digitalWrite(3, HIGH);
break;
case 1:
digitalWrite(2, HIGH);
digitalWrite(4, HIGH);
break;
case 2:
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
break;
case 3:
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 4:
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
break;
case 5:
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
break;
case 6:
digitalWrite(A1, HIGH);
}
if(step==6)
step=0;
else
step++;
delay(200);
break;
case 2:
switch(step){
case 0:
tuttiSpenti();
break;
case 1:
tuttiAccesi();
}
if(step==1)
step=0;
else
step++;
delay(250);
break;
case 3:
switch(step){
case 0:
digitalWrite(3, HIGH);
break;
case 1:
digitalWrite(2, HIGH);
digitalWrite(4, HIGH);
break;
case 2:
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
break;
case 3:
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 4:
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
break;
case 5:
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
break;
case 6:
digitalWrite(A1, HIGH);
break;
case 7:
digitalWrite(3, LOW);
break;
case 8:
digitalWrite(2, LOW);
digitalWrite(4, LOW);
break;
case 9:
digitalWrite(5, LOW);
digitalWrite(6, LOW);
break;
case 10:
digitalWrite(7, LOW);
digitalWrite(8, LOW);
break;
case 11:
digitalWrite(9, LOW);
digitalWrite(10, LOW);
break;
case 12:
digitalWrite(11, LOW);
digitalWrite(12, LOW);
break;
case 13:
digitalWrite(A1, LOW);
//delay(100);
}
if(step==13)
step=0;
else
step++;
delay(200);
break;
}
}
ciao, sto facendo questo progetto, su arduino uno mi funziona, mentre su arduino nano non ne vuole sapere, si carica il codice ma all'avvio partono i led ma il bottone non risponde.... spero in un vostro aiuto