Go Down

Topic: Aide sur programmation!! (Read 1 time) previous topic - next topic

snoom82

Bon, après essai, j'ai réussi à faire ce que je voulais, mais différemment des propositions...
Si cela peut aider, voici le code!
Code: [Select]

void pasapas(){
  //Handle input
if(actualPreset == 8){
  if(digitalRead(buttonTir) == LOW && etatTir == false){
  delay(attenteCapteurs);
  if(digitalRead(buttonTir) == LOW){
     counter++;
 
    if(counter > maxsorties)
    {
      counter = maxsorties;
    }
    Serial.println(sorties[counter]);
    etatTir = true; // on mémorise qu'on entre dans une phase de Tir
      //TIR
  digitalWrite(sorties[counter], HIGH);
  delay(tpsTir);
  digitalWrite(sorties[counter], LOW);
  delay(200);
        }
      }
    else if(digitalRead(buttonTir) == HIGH && etatTir == true){
  etatTir = false;
    }
  }
}



En fait, j'ai rajouté une variable etatTir pour rajouter une condition au tir.
J'ai déclaré cette variable en début de code
boolean etatTir = false;
et la condition pour que cela tire est donc qu'il y ait une impulsion électrique sur l'entrée digitale, et que l'on soit en "etatTir == false". Etattir passe alors en true et j'allume la led (ou sortie) correspondante.

Go Up