DOMANDA esercizio arduino

Pubblicità
Non funziona è un po' generico...

Comunque probabilmente nello switch devi usare "val", che è ciò che viene restituito dalla funzione (vado a intuizione, considerando che non hai detto quale sia il problema).
 
Risolto posto il codice , se può essere utile a qualcuno :)

C:
int Ledarancione = 4;
int Ledblu = 5;
int Ledrosso = 6;
int Ledgrigio = 7;
int pulsante = 8;
int val = 0;
int conta=0;
int Ledverde = 9;
int Ledgiallo = 3;


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);

  pinMode(Ledverde,OUTPUT);
  pinMode(Ledgiallo,OUTPUT);
  pinMode(Ledarancione,OUTPUT);
  pinMode(Ledblu,OUTPUT);
  pinMode(Ledrosso,OUTPUT);
  pinMode(Ledgrigio,OUTPUT);
  pinMode(pulsante,INPUT);

}

void loop() {
  // put your main code here, to run repeatedly:
  val = digitalRead(pulsante);
  if(digitalRead(pulsante)==HIGH)
  {
    conta++;
    }
  Serial.println(conta);
  switch(conta)
  {
    case 0:
      Serial.println("caso iniziale");
      digitalWrite(Ledgrigio,LOW);
      break;
    case 1:
      digitalWrite(Ledverde,HIGH);
      digitalWrite(Ledgrigio,LOW);
    Serial.println("caso zero");
      break;
    case 2:
      digitalWrite(Ledverde,LOW);
      digitalWrite(Ledgiallo,HIGH);
    Serial.println("caso uno");
      break;
    case 3:
      digitalWrite(Ledgiallo,LOW);
      digitalWrite(Ledarancione,HIGH);
    Serial.println("caso due");
      break;
    case 4:
      digitalWrite(Ledarancione,LOW);
      digitalWrite(Ledblu,HIGH);
    Serial.println("caso tre");
      break;
    case 5:
      digitalWrite(Ledblu,LOW);
      digitalWrite(Ledrosso,HIGH);
    Serial.println("caso quattro");
      break;
    case 6:
      digitalWrite(Ledrosso,LOW);
      digitalWrite(Ledgrigio,HIGH);
    Serial.println("caso cinque");
      conta=0;
      break;
  }
  delay(2000);

}
--- i due messaggi sono stati uniti ---
 
Ultima modifica:
Non ha senso quello che fai qui, è una lettura doppia inutile, come dicevo sopra.

Codice:
val = digitalRead(pulsante);
  if(digitalRead(pulsante)==HIGH)
 
Pubblicità
Pubblicità
Indietro
Top