Problème bouton poussoir dans un compteur
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 46

Problème bouton poussoir dans un compteur



  1. #1
    toxt934

    Problème bouton poussoir dans un compteur


    ------

    Bonjour, j'ai réaliser un compteur sur un 7 segment à l'aide de proteus ainsi que flowcode. Je travaile sur un PIC16F84A. Donc le compteur va de 0 à 9. A chaque fois que je dois cliquer sur le bouton poussoir, on avance de 1. Le problème est que ça avance automatiquement si je reste appuyé sur le bouton. Pouvez-vous m'aidez car je n'arrive pas à trouver de solution.
    Voici le code:
    code1.JPG

    Voici le schéma:code2.JPG

    -----

  2. #2
    adipie

    Re : Problème bouton poussoir dans un compteur

    Tu traites l'anti rebond du bouton et tu incrémentes ton compteur sur une intérruption sur front montant ou déscendant (voir Bigonoff)

  3. #3
    adipie

    Re : Problème bouton poussoir dans un compteur

    Tu traites l'anti rebond du bouton et tu incrémentes ton compteur sur une intérruption sur front montant ou déscendant (voir Bigonoff)
    Et tu changes de PIC.

  4. #4
    toxt934

    Re : Problème bouton poussoir dans un compteur

    Enfaite c'est pour un TP en cours, j'ai pas le droit de changer de pic. Donc y a t-il un moyen de régler ce problème avec le code?

  5. A voir en vidéo sur Futura
  6. #5
    mag1

    Re : Problème bouton poussoir dans un compteur

    Bonjour,

    Ou tu fais une boucle tant que le poussoir (poussoir=1) est appuyé et tu incrémentes au relâchement du poussoir (poussoir=0).

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  7. #6
    antek

    Re : Problème bouton poussoir dans un compteur

    Citation Envoyé par toxt934 Voir le message
    Enfaite c'est pour un TP en cours, j'ai pas le droit de changer de pic. Donc y a t-il un moyen de régler ce problème avec le code?
    Voir #2
    Apprendre un vrai langage ça aide aussi.

  8. #7
    Antoane
    Responsable technique

    Re : Problème bouton poussoir dans un compteur

    Bonjour et bienvenue sur Futura,

    Ton programme ne compte pas les appuis sur le bouton mais regarde toutes les 1ms si le bouton est appuyé et incrémente le compteur si c'est le cas.
    Autrement dit : ton programme ne comptera pas plus d'une impulsion par appui si l'appui dure moins de 1ms. C'est gênant (d'autant plus que pour être sûr que tous les appuis soient pris en compte, il faut que l'appui dure plus de 1ms...)

    Il faut donc transformer ton code pour qu'il compte les changements d'état du bouton poussoir.

    Il manque une résistance de pull-down (-> google si tu ne sais pas ce que c'est) sur ton bouton poussoir.
    La broche MCLR du PIC doit être reliée au +5V.


    Edit : grillé.
    Citation Envoyé par antek Voir le message
    Voir #2
    Apprendre un vrai langage ça aide aussi.
    Certes, mais quand l'EN dit d'utiliser Flowcode, tu vas pas programmer en Matlab.
    Dernière modification par Antoane ; 23/05/2015 à 17h28.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  9. #8
    antek

    Re : Problème bouton poussoir dans un compteur

    Citation Envoyé par Antoane Voir le message
    Certes, mais quand l'EN dit d'utiliser Flowcode, tu vas pas programmer en Matlab.
    Ben tu utilises le langage qui te permet d'utiliser le µC.
    Et quel est le langage qui permet d'apprendre à utiliser le µC . . . ?

  10. #9
    toxt934

    Re : Problème bouton poussoir dans un compteur

    C'est mon professeur qui nous impose Flowcode
    Images attachées Images attachées  
    Dernière modification par toxt934 ; 23/05/2015 à 17h36.

  11. #10
    mag1

    Re : Problème bouton poussoir dans un compteur

    Après la sortie oui dans ton premier logigramme, tu fais un autre test qui boucle sur lui même tant que click=1 et tu ne sorts que lorsque click=0
    Dernière modification par mag1 ; 23/05/2015 à 17h40.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  12. #11
    toxt934

    Re : Problème bouton poussoir dans un compteur

    J'ai essayé ça mais ça ne marche toujours pas mag1Nom : code4.JPG
Affichages : 236
Taille : 56,4 Ko

  13. #12
    mag1

    Re : Problème bouton poussoir dans un compteur

    Citation Envoyé par toxt934 Voir le message
    J'ai essayé ça mais ça ne marche toujours pas mag1Pièce jointe 282463
    Mais si, ça va marcher, j'attends la validation.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  14. #13
    toxt934

    Re : Problème bouton poussoir dans un compteur

    ça ne marche pas, j'ai même essayé de mettre un delay de 1ms derrière le "Si clik=0"

  15. #14
    Antoane
    Responsable technique

    Re : Problème bouton poussoir dans un compteur

    Bonjour,

    On ne va pas refaire le débat "faut-il utiliser Flowcode au lycée", le sujet a déjà été discuté de nombreuses fois sur FS, je te suggère, antek, de faire une recherche.

    Citation Envoyé par toxt934 Voir le message
    J'ai essayé ça mais ça ne marche toujours pas mag1Pièce jointe 282463
    Comment le résultat du test "si click = 0" peut-il être vrai alors que :
    - tu es dans une boucle "tant que click==1" ;
    - tu ne mets jamais à jour l'état de click une fois entré dans la boucle.

    Il ne sert à rien de faire 50 essais en ajoutant des blocs partout... Il faut comprendre ce qui se passe et comment tu dois faire et agir en conséquence.
    As-tu compris d'où vient ton problème ?
    As-tu compris la solution donnée par mag1 ?
    Dernière modification par Antoane ; 23/05/2015 à 17h50.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  16. #15
    toxt934

    Re : Problème bouton poussoir dans un compteur

    Oui j'ai compris mais je ne vois pas comment je peux faire

  17. #16
    mag1

    Re : Problème bouton poussoir dans un compteur

    Citation Envoyé par toxt934 Voir le message
    ça ne marche pas, j'ai même essayé de mettre un delay de 1ms derrière le "Si clik=0"
    Ca marche pas, c'est normal.

    J'ai dit de reprendre le logigramme du début. Le problème est qu'il continue à boucler tant que le poussoir est appuyé.

    Je te le fais en basic, faut traduire en flowtruc

    Code:
       If click=1 then
           Do loop while click=1
           A=A+1
      Endif
    Le programme est bloqué dans la boucle Do loop tant que le poussoir est appuyé.

    MM
    Dernière modification par mag1 ; 23/05/2015 à 17h58.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  18. #17
    toxt934

    Re : Problème bouton poussoir dans un compteur

    Merci je vais essayer

  19. #18
    adipie

    Re : Problème bouton poussoir dans un compteur

    Informe aussi ton professeur que dans la vrai vie le contact d'un bouton poussoir fait des rebonds, il est important d'en tenir compte dès les premiers pas dans le monde des microcontrôleurs.
    Ceci peu aussi se traiter par hard voir cette discussion très instructive: http://www.u-electronique.com/forum/...ad.php?t=89254

  20. #19
    mag1

    Re : Problème bouton poussoir dans un compteur

    Citation Envoyé par toxt934 Voir le message
    Merci je vais essayer
    En fait, cette boucle de blocage pour click=1 peut être placée n'importe où, par ex après l'affichage. L'appui est pris en compte pour l'affichage, mais il faut relâcher le poussoir pour continuer .

    En soft, le rebond se traite généralement par une petite pause juste après la prise en compte de l'appui.

    MM
    Dernière modification par mag1 ; 23/05/2015 à 18h45.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  21. #20
    toxt934

    Re : Problème bouton poussoir dans un compteur

    Merci mag1 je pense avoir trouvé une solution

  22. #21
    mag1

    Re : Problème bouton poussoir dans un compteur

    Citation Envoyé par toxt934 Voir le message
    Merci mag1 je pense avoir trouvé une solution
    Tant mieux. Laquelle?

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  23. #22
    toxt934

    Re : Problème bouton poussoir dans un compteur

    Après le test, j'ai toujours un problème:
    J'ai tenté ça:
    Nom : code6.JPG
Affichages : 182
Taille : 81,0 Ko

    Mais en y repensant c'est impossible puisque je ne peux pas mettre "si clik=0" alors que je suis dans une boucle "tant que clik=1"

  24. #23
    mag1

    Re : Problème bouton poussoir dans un compteur

    Et çà ? A essayer...

    A quoi servent les 20ms?
    Images attachées Images attachées  
    Dernière modification par mag1 ; 23/05/2015 à 20h04.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  25. #24
    Antoane
    Responsable technique

    Re : Problème bouton poussoir dans un compteur

    Citation Envoyé par toxt934 Voir le message

    Mais en y repensant c'est impossible puisque je ne peux pas mettre "si clik=0" alors que je suis dans une boucle "tant que clik=1"
    Tu peux, à condition de mettre un bloc de lecture "A0->click" dans la boucle.

    A partir de ce moment, ton programme sera fonctionnel, il suffira de rajouter la prise en compte du rebond et de supprimer ce qui ne sert à rien.

    Ceci dit, ta condition fait le même travail que la boucle : l'un comme l'autre servent à sortir de la boucle lorsque click repasse à 0.
    Dernière modification par Antoane ; 23/05/2015 à 20h09.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  26. #25
    toxt934

    Re : Problème bouton poussoir dans un compteur

    Merci pour vos deux réponses, je vais essayer

  27. #26
    toxt934

    Re : Problème bouton poussoir dans un compteur

    Merci antoane ça marche!!!! j'ai juste rajouté à la boucle A0 -> clik en entrée et ça marche!!

  28. #27
    mag1

    Re : Problème bouton poussoir dans un compteur

    Citation Envoyé par toxt934 Voir le message
    Merci antoane ça marche!!!! j'ai juste rajouté à la boucle A0 -> clik en entrée et ça marche!!
    Pourquoi ce second test sur click=0 ?
    ça complique non?
    varA c'est le click, bien sûr

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  29. #28
    toxt934

    Re : Problème bouton poussoir dans un compteur

    ça complique mais j'ai réussi qu'avec ça

  30. #29
    toxt934

    Re : Problème bouton poussoir dans un compteur

    Merci à toi aussi mag1

  31. #30
    mag1

    Re : Problème bouton poussoir dans un compteur

    Citation Envoyé par toxt934 Voir le message
    Merci à toi aussi mag1
    Et ma "solution", ça fait quoi?
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Problème bouton poussoir Arduino
    Par moha698 dans le forum Électronique
    Réponses: 8
    Dernier message: 27/04/2014, 17h07
  2. Compteur avec afficheur et bouton poussoir
    Par invite77882d68 dans le forum Électronique
    Réponses: 31
    Dernier message: 18/04/2013, 09h07
  3. Compteur de points à bouton poussoir
    Par atraxxx dans le forum Électronique
    Réponses: 18
    Dernier message: 18/10/2012, 21h06
  4. compteur incrémenté par bouton poussoir
    Par invitedec39679 dans le forum Électronique
    Réponses: 10
    Dernier message: 10/05/2011, 07h43
  5. Fixation bouton-poussoir & led dans menuiserie
    Par amundsen dans le forum Électronique
    Réponses: 3
    Dernier message: 06/04/2008, 19h11
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...