[Programmation] Problème bouton poussoir + débitmètre Arduino [Résolu] - Page 2
Répondre à la discussion
Page 2 sur 3 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 63

Problème bouton poussoir + débitmètre Arduino [Résolu]



  1. #31
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino


    ------

    Citation Envoyé par adipie Voir le message
    C'est l'Arduino qui compte les impulsions et pas le débitmètre ou ai je mal compris ?.
    Je réitère ce que j'ai déjà proposé: Tu remplaces le débitmètre par un bouton poussoir et tu envois les impulsions manuellement.
    Un lien concernant ce débitmètre ne serait pas inutile
    Non c'est bien la arduino qui compte le nombres d'impulsions.

    -----

  2. #32
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Voici des détails sur le débitmètre

    http://shop.mchobby.be/senseur-diver...100000988.html
    Dernière modification par Antoane ; 14/11/2015 à 12h11. Motif: Remplacement balises HTML par URL pour le lien hypertexte.

  3. #33
    antek

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par jmjim Voir le message
    Code HTML:
    http://shop.mchobby.be/senseur-divers/98-debimetre-plastique-1-2-3232100000988.html
    Avec ça faut deviner la sortie du capteur -> collecteur ouvert ?

  4. #34
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par antek Voir le message
    Avec ça faut deviner la sortie du capteur -> collecteur ouvert ?
    Je ne sais pas ce que sais un collecteur ouvert, j'ai seulement ca comme infos.
    J'ai trouvé ca ; je ne sais pas si ca peux aidé
    [urlhttp://www.wikidebrouillard.org/index.php/Capteur_de_d%C3%A9bit_d'eau[/url]
    Dernière modification par Antoane ; 14/11/2015 à 12h10. Motif: Remplacement balises HTML par URL pour le lien hypertexte.

  5. #35
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par antek Voir le message
    Avec ça faut deviner la sortie du capteur -> collecteur ouvert ?
    J'ai fais le test suivant :
    J'ai branché le débitmètre (gnd et +5v) sur une alimentation externe (5v).
    J'ai mis une résistance 10k entre le +5v et le fil d'impulsions.
    J'ai mis un multimètre entre le gnd et le fils d'impulsions.

    1) Il y avait du 0V quand le debitmètre ne "tourné" pas.
    2) Il y avait du 2.5V quand il "tourné".

    Donc je pense que 2.5v c'est une moyenne entre la position pas d'impulsions 0v et impulsions +5v (désolé c'est pas trop présit au multimètre).

    J'en déduit donc que chaque impulsion du débitmètre vaut +5V.

  6. #36
    antek

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par jmjim Voir le message
    Donc je pense que 2.5v c'est une moyenne entre la position pas d'impulsions 0v et impulsions +5v (désolé c'est pas trop présit au multimètre).
    J'en déduit donc que chaque impulsion du débitmètre vaut +5V.
    On peut donc supposer qu'il s'agit d'une sortie à collecteur ouvert.
    La valeur "un" est la tension d'alimentation de la résistance.
    La valeur "zéro" est le Vce du transistor de sortie du capteur.
    Dernière modification par antek ; 13/11/2015 à 11h19.

  7. #37
    izentrop

    Re : Problème bouton poussoir + débitmètre Arduino

    Bonjour,
    c'est un problème d'anti-rebond http://www.mon-club-elec.fr/pmwiki_r...xempleDebounce

  8. #38
    antek

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par poillaineux Voir le message
    c'est un problème d'anti-rebond
    Oui, si on jette le transistor trop fort il rebondit !

  9. #39
    izentrop

    Re : Problème bouton poussoir + débitmètre Arduino

    Je n'avais pas vu les 3 pages J'en été resté au pb du bouton qui ne semble pas réglé en fait.
    Dernière modification par izentrop ; 13/11/2015 à 11h26.

  10. #40
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par poillaineux Voir le message
    Je n'avais pas vu les 3 pages J'en été resté au pb du bouton qui ne semble pas réglé en fait.
    Si le problème du bouton est réglé mais la c'est le débitmètre qui bloque.

  11. #41
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par antek Voir le message
    Oui, si on jette le transistor trop fort il rebondit !
    Si j'ai tout compris c'est donc un problème d'anti-rebond!

    Comment réglé ce problème?
    Une tempo ferait-il l'affaire?

  12. #42
    izentrop

    Re : Problème bouton poussoir + débitmètre Arduino

    regarde le lien que j'ai mis pour la tempo sinon un condensateur aux bornes du bouton.

  13. #43
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par poillaineux Voir le message
    regarde le lien que j'ai mis pour la tempo sinon un condensateur aux bornes du bouton.
    J'ai vu le lien, merci.

    Un condensateur me parait bien? Quelle référence dois-je prendre?

  14. #44
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Mon programme est-il bien écrit pour compter les impulsions?

    Code:
    #define relais_EV 13 //le relais de l'électrovanne est connecté à la broche 3 de la carte Adruino
    
    const int bouton_NO = 4; //le bouton NO est connecté à la broche 4 de la carte Adruino
    const int debitmetre = 3; //le débit mètre est connecté à la broche 2 de la carte Arduino
    
    int etat_bouton_NO; //variable qui enregistre l'état du bouton
    int etat_debitmetre; //variable qui enregistre l'état du débit mètre
    int Nb_impulsion; //variable qui enregistre le nombre d'impulsions du débitmètre
    
    int valeur_bouton; // variable memoire du bouton NO
    
    
    void setup() {
      pinMode(bouton_NO, INPUT); //le bouton est une entrée
      pinMode(relais_EV, OUTPUT); //le relais de l'électrovanne est une sortie
      digitalWrite(relais_EV, HIGH); //on initialise le relais de l'électrovanne comme "éteint"
      pinMode(debitmetre, INPUT); //le débit mètre est une entrée
      Nb_impulsion = 0;
      valeur_bouton = 0;
    }
    void loop() {
     etat_debitmetre = digitalRead(debitmetre); 
     etat_bouton_NO = digitalRead(bouton_NO);
      
      if(etat_bouton_NO == LOW ) // Si variable etat_bouton_NO est a l'état bas (low)
      {
        valeur_bouton = 1; // alors la variable valeur_bouton se mets a 1
      }
      
      else
      {
        valeur_bouton = 0; // sinon la variable valaur_bouton se mets a 0
      }  
       
      
      if(valeur_bouton == 1) // Si la variable valeur_bouton est égale 1
      {
        digitalWrite(relais_EV, LOW); // alors le relais_EV se ferme
      }  
      
      if(relais_EV == LOW) // SI relais_EV est a l'etat bas
        {if(etat_debitmetre == LOW) //Si le débitmètre est en position "fermé"
         {
          Nb_impulsion++; //on incrémente de "1" la variable Nb_impulsion 
         }
     
         if(Nb_impulsion >= 10); //Si la variable Nb_impulsion est supérieure ou égale à "10" 
         {
          digitalWrite(relais_EV, HIGH); //Alors le relais de l'électrovanne se ferme
          valeur_bouton = 0; // Je remets la variable valeur_bouton a "0"
          Nb_impulsion = 0; // remise à "0" du compteur d'impulsions.
         }
        } 
    }
    Dernière modification par jmjim ; 13/11/2015 à 12h29.

  15. #45
    freepicbasic

    Re : Problème bouton poussoir + débitmètre Arduino

    Le soft doit fonctionner.

    Le problème c est lorsqu'on te demande de faire une manip tu ne la fais pas.
    Ou si tu l'a fait, il n'y a aucun retour...
    A+, pat

  16. #46
    adipie

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par jmjim Voir le message
    Mon programme est-il bien écrit pour compter les impulsions?
    Pour la nème fois, envoi des impulsions avec un bouton poussoir à la place du débitmètre et répond aux questions.

  17. #47
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par adipie Voir le message
    Pour la nème fois, envoi des impulsions avec un bouton poussoir à la place du débitmètre et répond aux questions.
    Ca ne fais rien quand j'envoie des impulsions avec le BP à la place du débitmètre.

  18. #48
    izentrop

    Re : Problème bouton poussoir + débitmètre Arduino

    Bonjour,
    Avec ce code, est-ce que la led clignote http://mchobby.be/wiki/index.php?tit...l#Code_Arduino

  19. #49
    izentrop

    Re : Problème bouton poussoir + débitmètre Arduino

    Tu ne tiens pas compte du changement d'état de ton débitmètre,
    Code:
      if(relais_EV == LOW) // SI relais_EV est a l'etat bas
        {if(etat_debitmetre == LOW) //Si le débitmètre est en position "fermé"
         {
          Nb_impulsion++; //on incrémente de "1" la variable Nb_impulsion 
         }
    La variable Nb_impulsion passe à 1 et ne peut pas évoluer.
    Solution ici https://www.arduino.cc/en/Tutorial/S...tonStateChange

  20. #50
    adipie

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par jmjim Voir le message
    Ca ne fais rien quand j'envoie des impulsions avec le BP à la place du débitmètre.
    C'est comme cela que tu as branché tes BP ?
    Nom : Bp_Dbm.JPG
Affichages : 85
Taille : 15,4 Ko

  21. #51
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par poillaineux Voir le message
    Bonjour,
    Avec ce code, est-ce que la led clignote http://mchobby.be/wiki/index.php?tit...l#Code_Arduino
    Oui avec ce code elle clignote bien!

  22. #52
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par adipie Voir le message
    C'est comme cela que tu as branché tes BP ?
    Pièce jointe 297835
    C'est bien comme cela que j'ai branché les BP.

  23. #53
    freepicbasic

    Re : Problème bouton poussoir + débitmètre Arduino

    remplace le BP par le débitmètre, fait le tourner lentement et regarde si ça clignote aussi.
    A+, pat

  24. #54
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par freepicbasic Voir le message
    remplace le BP par le débitmètre, fait le tourner lentement et regarde si ça clignote aussi.
    Oui justement c'est avec le débitmètre que j'ai testé et quand il tourne la led clignote.

  25. #55
    freepicbasic

    Re : Problème bouton poussoir + débitmètre Arduino

    J'ai rajouté un etat_relais , en supposant que le fait de lire directement ne fonctionne pas , ainsi la variable ne serait pas incrémenté.
    Et
    On attend la fin de l'etatbas debitmètre

    Code:
            #define relais_EV 13 //le relais de l'électrovanne est connecté à la broche 3 de la carte Adruino
    
            const int bouton_NO = 4; //le bouton NO est connecté à la broche 4 de la carte Adruino
            const int debitmetre = 3; //le débit mètre est connecté à la broche 2 de la carte Arduino
    
            int etat_bouton_NO; //variable qui enregistre l'état du bouton
            int etat_debitmetre; //variable qui enregistre l'état du débit mètre
            int etat_relais; //
            int Nb_impulsion; //variable qui enregistre le nombre d'impulsions du débitmètre
    
            int valeur_bouton; // variable memoire du bouton NO
    
    
            void setup() {
              pinMode(bouton_NO, INPUT); //le bouton est une entrée
              pinMode(relais_EV, OUTPUT); //le relais de l'électrovanne est une sortie
              digitalWrite(relais_EV, HIGH); //on initialise le relais de l'électrovanne comme "éteint"
              pinMode(debitmetre, INPUT); //le débit mètre est une entrée
              Nb_impulsion = 0;
              valeur_bouton = 0;
      		etat_relais=1;
    
            }
            void loop() {
             etat_debitmetre = digitalRead(debitmetre); 
             While (etat_debitmetre==LOW){
            etat_debitmetre = digitalRead(debitmetre); 
             };
             etat_bouton_NO = digitalRead(bouton_NO);
              
              if(etat_bouton_NO == LOW ) // Si variable etat_bouton_NO est a l'état bas (low)
              {
                valeur_bouton = 1; // alors la variable valeur_bouton se mets a 1
              }
              
              else
              {
                valeur_bouton = 0; // sinon la variable valaur_bouton se mets a 0
              }  
               
              
              if(valeur_bouton == 1) // Si la variable valeur_bouton est égale 1
    		{
    	 	digitalWrite(relais_EV, LOW); // alors le relais_EV se ferme
     		etat_relais=0;
              }  
              
              if(etat_relais == 0) // SI relais_EV est a l'etat bas
                {if(etat_debitmetre == 0) //Si le débitmètre est en position "fermé"
                 {
                  Nb_impulsion++; //on incrémente de "1" la variable Nb_impulsion 
                 }
             
                 if(Nb_impulsion >= 10); //Si la variable Nb_impulsion est supérieure ou égale à "10" 
                 {
                  digitalWrite(relais_EV, HIGH); //Alors le relais de l'électrovanne se ferme
     	      etat_relais=1;
                  valeur_bouton = 0; // Je remets la variable valeur_bouton a "0"
                  Nb_impulsion = 0; // remise à "0" du compteur d'impulsions.
                 }
                } 
            }
    Dernière modification par freepicbasic ; 15/11/2015 à 12h00.
    A+, pat

  26. #56
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par freepicbasic Voir le message
    J'ai rajouté un etat_relais , en supposant que le fait de lire directement ne fonctionne pas , ainsi la variable ne serait pas incrémenté.
    Et
    On attend la fin de l'etatbas debitmètre
    Merci d'avoir passer du temps pour modifier mon code.

    Ca ne fonctionne pas :
    Le relais s'enclenche et ce déclenche dès que je lache le BP.
    Si je tient le BP enfoncé et que je fait tourné le débitmètre = le relais s’allume et s'éteint rapidement.

  27. #57
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    J'ai refait le code par rapport au lien que m'a donné poillaineux en #49.

    Le relais reste enclenché mais toujours rien pour le débitmètre.

    Code:
    #define relais_EV 13 //le relais de l'électrovanne est connecté à la broche 3 de la carte Adruino
    
    const int bouton_NO = 4; //le bouton NO est connecté à la broche 4 de la carte Adruino
    const int debitmetre = 3; //le débit mètre est connecté à la broche 2 de la carte Arduino
    
    int etat_bouton_NO; //variable qui enregistre l'état du bouton
    int etat_debitmetre; //variable qui enregistre l'état du débit mètre
    int Nb_impulsion; //variable qui enregistre le nombre d'impulsions du débitmètre
    int memoire_BP = HIGH; //état relâché par défaut
    int memoire_debitmetre = HIGH; //état relâché par défaut
    int valeur_bouton; // variable memoire du bouton NO
    
    void setup() {
    pinMode(bouton_NO, INPUT); //le bouton est une entrée  
    pinMode(relais_EV, OUTPUT); //le relais de l'électrovanne est une sortie
    digitalWrite(relais_EV, HIGH); //on initialise le relais de l'électrovanne comme "éteint"
    pinMode(debitmetre, INPUT); //le débit mètre est une entrée
    
    Nb_impulsion = 0;
    valeur_bouton = 0 ;
    }
    
    void loop() {
     etat_bouton_NO = digitalRead(bouton_NO); // lecture de l'état du bouton
     etat_debitmetre = digitalRead(debitmetre); // lecture de l'état du débitmètre
     
     if((etat_bouton_NO != memoire_BP) && (etat_bouton_NO == LOW))  // Si le bouton a un état différent de celui enregistré ET
       {                                                            // que cet état est "appuyé"
        valeur_bouton = 1;                                          // Alors la valirable valeur_bouton ce met à "1"
       } 
    
     memoire_BP = etat_bouton_NO;  // on enregistre l'état du bouton pour le tour suivant
     
     if(valeur_bouton == 1) // Si la variable valeur_bouton est à "1"
       {
        digitalWrite(relais_EV, LOW); // Alors le relais est alimenté
       }
     
     if((etat_debitmetre != memoire_debitmetre) && (etat_debitmetre == HIGH)) // Si le bouton a un état différent de celui 
       {                                                                      // enregistré ET que cet état est "appuyé"
        Nb_impulsion++;                                                       // Alors j'incrémente la varible de +1
       }
       
       memoire_debitmetre = etat_debitmetre; // on enregistre l'état du bouton pour le tour suivant
       
      if(Nb_impulsion >= 10) // Si le nombre d'impulsions est supérieur ou égale à 10
       {
        digitalWrite(relais_EV, HIGH); // Alors le relais s'éteint 
       }

  28. #58
    freepicbasic

    Re : Problème bouton poussoir + débitmètre Arduino

    j ai modifié en cours est qu'il y a le while dans ce que tu as copié?

    Code:
             While (etat_debitmetre==LOW){
            etat_debitmetre = digitalRead(debitmetre); 
             };
    A+, pat

  29. #59
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par freepicbasic Voir le message
    j ai modifié en cours est qu'il y a le while dans ce que tu as copié?

    Code:
             While (etat_debitmetre==LOW){
            etat_debitmetre = digitalRead(debitmetre); 
             };
    Tu veux dire dans le code que tu m'a donné, oui il y a le while.
    sinon dans celui que je viens de mettre, non mais même en le mettant ca ne change rien!

  30. #60
    jmjim

    Re : Problème bouton poussoir + débitmètre Arduino

    Citation Envoyé par jmjim Voir le message
    J'ai refait le code par rapport au lien que m'a donné poillaineux en #49.

    Le relais reste enclenché mais toujours rien pour le débitmètre.

    Code:
    #define relais_EV 13 //le relais de l'électrovanne est connecté à la broche 3 de la carte Adruino
    
    const int bouton_NO = 4; //le bouton NO est connecté à la broche 4 de la carte Adruino
    const int debitmetre = 3; //le débit mètre est connecté à la broche 2 de la carte Arduino
    
    int etat_bouton_NO; //variable qui enregistre l'état du bouton
    int etat_debitmetre; //variable qui enregistre l'état du débit mètre
    int Nb_impulsion; //variable qui enregistre le nombre d'impulsions du débitmètre
    int memoire_BP = HIGH; //état relâché par défaut
    int memoire_debitmetre = HIGH; //état relâché par défaut
    int valeur_bouton; // variable memoire du bouton NO
    
    void setup() {
    pinMode(bouton_NO, INPUT); //le bouton est une entrée  
    pinMode(relais_EV, OUTPUT); //le relais de l'électrovanne est une sortie
    digitalWrite(relais_EV, HIGH); //on initialise le relais de l'électrovanne comme "éteint"
    pinMode(debitmetre, INPUT); //le débit mètre est une entrée
    
    Nb_impulsion = 0;
    valeur_bouton = 0 ;
    }
    
    void loop() {
     etat_bouton_NO = digitalRead(bouton_NO); // lecture de l'état du bouton
     etat_debitmetre = digitalRead(debitmetre); // lecture de l'état du débitmètre
     
     if((etat_bouton_NO != memoire_BP) && (etat_bouton_NO == LOW))  // Si le bouton a un état différent de celui enregistré ET
       {                                                            // que cet état est "appuyé"
        valeur_bouton = 1;                                          // Alors la valirable valeur_bouton ce met à "1"
       } 
    
     memoire_BP = etat_bouton_NO;  // on enregistre l'état du bouton pour le tour suivant
     
     if(valeur_bouton == 1) // Si la variable valeur_bouton est à "1"
       {
        digitalWrite(relais_EV, LOW); // Alors le relais est alimenté
       }
     
     if((etat_debitmetre != memoire_debitmetre) && (etat_debitmetre == HIGH)) // Si le bouton a un état différent de celui 
       {                                                                      // enregistré ET que cet état est "appuyé"
        Nb_impulsion++;                                                       // Alors j'incrémente la varible de +1
       }
       
       memoire_debitmetre = etat_debitmetre; // on enregistre l'état du bouton pour le tour suivant
       
      if(Nb_impulsion >= 10) // Si le nombre d'impulsions est supérieur ou égale à 10
       {
        digitalWrite(relais_EV, HIGH); // Alors le relais s'éteint 
       }
    Je viens de remarquer quelque chose avec ce nouveau code :
    J'ai remplacé le relais par une LED :
    -quand j'appuis sur le BP la LED s'éteint au lieu de s'allumé (c'est du à l'état qui est inversé pour la led, rien de grave), et reste éteinte même quand je lâche le BP.
    -quand je fait tourné le débitmètre, au bout de 10 impulsions, la petite LED "L" sur la arduino s'alume et la LED change bien d'état est s'allume.
    -mais quand je reappuis sur le BP, plus rien ne se passe.

    Par contre quand je branche le relais :
    -Quand j'appuis que le poussoir le relais s'allume et reste allumé même quand je lâche le poussoir.
    -Quand je fais tourné le débitmètre au bout de 10 impulsions, la petite LED "L" sur la arduino s'allume, le relais ne s'éteint pas mais la petite LED indicative sur le relais baisse un peu d'intensité.

    Plusieurs questions se pose:
    Pourquoi quand je branche une LED à la place que relais elle s'éteint bien alors que le relais non?
    Pourquoi le cycle ne recommence pas? Quand je reappuis que le poussoir ca ne fais rien..
    Dernière modification par jmjim ; 15/11/2015 à 13h47.

Page 2 sur 3 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. arduino, servomoteur et bouton poussoir
    Par Anolis57 dans le forum Électronique
    Réponses: 68
    Dernier message: 22/07/2015, 12h53
  2. besoin d'aide bouton poussoir avec l'arduino mega
    Par joeman1 dans le forum Électronique
    Réponses: 11
    Dernier message: 20/10/2014, 20h32
  3. Problème bouton poussoir Arduino
    Par moha698 dans le forum Électronique
    Réponses: 8
    Dernier message: 27/04/2014, 17h07
  4. Bouton poussoir farçeur (énervant) [résolu]
    Par invite424deccd dans le forum Bricolage et décoration
    Réponses: 29
    Dernier message: 10/09/2012, 17h53
  5. Bouton poussoir et minuterie ? [résolu]
    Par crobe dans le forum Bricolage et décoration
    Réponses: 15
    Dernier message: 03/04/2011, 14h42
Découvrez nos comparatifs produits sur l'informatique et les technologies.