salve un augurio a tutti di buon anno.
dalla serie prima vai gattoni , dopo cammini e alla fine corri.
ho scritto questo piccolo sketc
const int ledverde = 2;
const int ledgiallo = 3;
const int ledrosso = 4;
const int ledblu = 5;
const int bottone = 6;
int a = 0;//variabili ustate per cambiare sequesnza
int b = 1;//variabili ustate per cambiare sequesnza
void setup() {
pinMode (ledverde, OUTPUT);//definisco pin uscita
pinMode (ledgiallo, OUTPUT);
pinMode (ledrosso, OUTPUT);
pinMode(ledblu, OUTPUT);
pinMode(6 , INPUT);
}
void loop() {
int somma = a+b;// risultato che discrimina la sequenza di accensione
sbottone = digitalRead(6);
if (sbottone == LOW)/*ho provato a scrivere if(sbottone == LOW) { a=1;}
if (somma == 1 ) ma non funziona */
{
// put your main code here, to run repeatedly:
digitalWrite(ledrosso, LOW);
digitalWrite(ledverde, HIGH);
delay(150);
digitalWrite(ledverde,LOW);
digitalWrite(ledgiallo, HIGH);
delay(150);
digitalWrite(ledgiallo,LOW);
digitalWrite(ledrosso, HIGH);
delay(150);
digitalWrite(ledrosso,LOW);
digitalWrite(ledblu, HIGH);
delay(150);
digitalWrite(ledblu,LOW);
delay(150);//inverto
digitalWrite(ledrosso, HIGH);
delay(150);
digitalWrite(ledrosso,LOW);
digitalWrite(ledgiallo, HIGH);
delay(150);
digitalWrite(ledgiallo,LOW);
digitalWrite(ledverde, HIGH);
delay(150);
digitalWrite(ledverde,LOW);
delay(150);
}
else {
digitalWrite(ledverde,HIGH);
digitalWrite(ledblu, HIGH);
delay (150);
digitalWrite(ledverde,LOW);
digitalWrite(ledblu, LOW);
delay (150);
digitalWrite(ledgiallo,HIGH);
digitalWrite(ledrosso, HIGH);
delay (150);
digitalWrite(ledgiallo,LOW);
digitalWrite(ledrosso, LOW);
delay (150);
}
}
semplicemente 4 led che scorrono e alla pressione del tasto , cambia la seqwuenza di accensione.
avrei un paio di domande.
prima : senza riscrivere completamente la serie di digitalwrite potrei usare una variabile come discriminante?
ho provato cambianto il valore di una variabile che a sua volta cambia il risultato di una somma , pero non so se e la strada giusta e come usarla,
seconda : ( se ho capito un po il funzionamento credo che non si possafare) quando premo il pulsante prima di cambiare
la sequenza di funzionamento , arduino termina la fase che sta facendo .
vi ringrazio anticipatamente per le risposte