Partage
  • Partager sur Facebook
  • Partager sur Twitter

[ ARDUINO ] Problème pour arreté une boucle while

    7 mai 2019 à 12:56:34

    Bonjour je suis un débutant en arduino, j'ai un projet qui est de faire une sirène de pompier.

    Mon problème est que je voudrait me servir d'un bouton poussoir comme un bouton on/off : j'arrive bien as déclencher la sirène mais je n'arrive pas a l’éteindre j'ai tous essayé mais je n'y arrive toujours pas 

    voici le programme que j'ai fais 

    int switchstate = 0;
      #define LA 440
    #define SI 494
    void setup() {
      
      pinMode(3, OUTPUT);
      pinMode(4, OUTPUT);
      pinMode(5, OUTPUT);
     
     
      pinMode(2, INPUT);
    }
     
    void loop() {
     
    
     
      switchstate = digitalRead(2);
     
    
      if (switchstate == LOW) {
        digitalWrite(3, HIGH); 
        digitalWrite(4, LOW);  
        digitalWrite(5, LOW);  
        noTone(6);
      }
     
      if(switchstate ==HIGH) {
          do{
          
       
        digitalWrite(4, HIGH);  
      tone(6, LA, 7000);
      delay(500);             
      digitalWrite(4, LOW);    
     noTone(6);
      delay(10);
      
       digitalWrite(5, HIGH);  
      tone(6,SI, 7000);
      delay(500);              
      digitalWrite(5, LOW);    
      
      delay(10);
        
       
        }while (switchstate ==1);
          
        
      }
      else{
        digitalWrite(3, HIGH); 
        digitalWrite(4, LOW);  
        digitalWrite(5, LOW);  
        noTone(6);
      }
     
      
    }

    • Partager sur Facebook
    • Partager sur Twitter
      14 mai 2019 à 0:03:49

      Salut ^^

      Ton problème c'est la partie "do while" 

      Jamais tu change la valeur de switchstate ^^

      Donc retire la ligne de do et celle du while 

      Retire ton premier if qui est inutile (car c'est exactement le else de celle d'après) 

      Normalement ton code devrait aller mieux ^^

      • Partager sur Facebook
      • Partager sur Twitter

      [ ARDUINO ] Problème pour arreté une boucle while

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown