Salve, mi scuso ma mi sono dimenticata di scrivere i problemi che ho incontrato.
Il problema iniziale è che quando premo il pulsante "Marcia" si avviano in sequenza il led 4 poi il 3 e di nuovo il 4 poi il ciclo comincia partendo dall' 1,poi il 2,il 3 ed infine il 4 come giusto che sia, solo che al raggiungimento di quest'ultimo si inverte il senso di marcia senza l'utilizzo dello switch e se provo a premerlo non accade nulla dunque a parer mio l'arduino non legge lo switch.
Siccome me la cavo meglio nella parte del montaggio in quanto programmazione non sono molto preparata quindi non saprei bene dove ho sbagliato e cosa potrei aggiungere.
Scrivo sottostante il codice:
Codice: Seleziona tutto
#define switch 5
#define buttom_s 6
#define buttom_m 7
#define led1 10
#define led2 11
#define led3 12
#define led4 13
bool ciclo=0;
bool puls_m=0;
bool puls_s=0;
bool marcia=0;
int counter=0;
int I=0;
void setup()
{
pinMode(switch,INPUT);
pinMode(buttom_s,INPUT);
pinMode(buttom_m,INPUT);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
}
void loop()
{
I=analogRead(A0);
I=1*I;
puls_m = digitalRead(buttom_m);
puls_s = digitalRead(buttom_s);
marcia= digitalRead(buttom_m);
if ((puls_m==1)&&(puls_s==0))
{
ciclo=1 ;
}
if (puls_s)
{
ciclo=0 ;
}
if (ciclo)
{
if (counter==0)
{
digitalWrite (led1,HIGH);
digitalWrite (led2,LOW);
digitalWrite (led3,LOW);
digitalWrite (led4,LOW);
if (marcia)
{
counter= counter+1;
}
else
{
counter= 3;
}
delay(I);
}
else
{
if (counter==1)
{
digitalWrite (led1,LOW);
digitalWrite (led2,HIGH);
digitalWrite (led3,LOW);
digitalWrite (led4,LOW);
if (marcia)
{
counter=counter+1;
}
else
{
counter= counter-1;
}
delay(I);
}
else
{
if (counter==2)
{
digitalWrite (led1,LOW);
digitalWrite (led2,LOW);
digitalWrite (led3,HIGH);
digitalWrite (led4,LOW);
if (marcia)
{
counter= counter+1;
}
else
{
counter =counter-1;
}
delay(I);
}
else
{
if (counter==3)
{
digitalWrite (led1,LOW);
digitalWrite (led2,LOW);
digitalWrite (led3,LOW);
digitalWrite (led4,HIGH);
if (marcia)
{
counter= 0;
}
else
{
counter= counter-1;
}
delay(I);
}
}
}
}
}
else
{
digitalWrite (led1,LOW);
digitalWrite (led2,LOW);
digitalWrite (led3,LOW);
digitalWrite (led4,LOW);
}
delay(50);
}
Il "progetto" non è a scopo scolastico è solo la voglia di capire ed imparare nuove cose.