comment faire UNE incrémentation avec un BP .
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

comment faire UNE incrémentation avec un BP .



  1. #1
    invite6c73e4d4

    comment faire UNE incrémentation avec un BP .


    ------

    Bonjour tout le monde.

    Je souhaite faire la commande d'une variable à partir d'un bouton poussoir.

    j'ai ma variable X et si BP, X++

    et ce que je souhaite c'est que a chaque fois que j'appuis sur ce BP, j'ai l'incrementation donc je suis obliger de mettre ce dans un boucle while(1). Le probleme c'est que si je fais ca, le programme fera enormement d'++ avant que l'utilisateur ne relache le BP alors je voudrais savoir si il y a un moyen de faire le programme de maniere a ce qu'il ne fasse plus le calcule tant que le BP ne repasse pas à 0.

    Merci d'avance pour vos reponses.

    -----

  2. #2
    invitedb9b1ced

    Re : comment faire UNE incrémentation avec un BP .

    Citation Envoyé par massepower Voir le message
    Bonjour tout le monde.

    Je souhaite faire la commande d'une variable à partir d'un bouton poussoir.

    j'ai ma variable X et si BP, X++

    et ce que je souhaite c'est que a chaque fois que j'appuis sur ce BP, j'ai l'incrementation donc je suis obliger de mettre ce dans un boucle while(1). Le probleme c'est que si je fais ca, le programme fera enormement d'++ avant que l'utilisateur ne relache le BP alors je voudrais savoir si il y a un moyen de faire le programme de maniere a ce qu'il ne fasse plus le calcule tant que le BP ne repasse pas à 0.

    Merci d'avance pour vos reponses.
    Hello,

    Et sinon, tu utilises quoi comme µC? Compilateur ? À quoi ressemble ton schéma ?

    Allez, juste comme ça je dirais de mettre ça sur une entrée acceptant les interruptions, et tu incrémentes ta variable uniquement sur l'évènement voulu, à savoir le front (montant ou descendant) du signal venant de ton BP . Le tout sans oublier l'anti-rebonds ...

  3. #3
    carcan

    Re : comment faire UNE incrémentation avec un BP .

    Hello !

    je réponds par un exemple ... à toi de deviner ce qu'il fait :
    Code:
    //Touche +
          D = !input(PIN_A4);
          if ((D==1) & (old_D==0)) 
          {
             //choses à faire, par exemple X++;
          }
          old_D = D;
    la variable old_D doit être déclarée en static.

    A+
    Laurent

  4. #4
    invite6c73e4d4

    Re : comment faire UNE incrémentation avec un BP .

    @amoniac

    je vais utiliser un microship, compilateur, je ne sais pas encore, sinon pour le schema : ma question posé est sur un exemple, ce que je cherche a faire est plus compliqué. sinon je n'ai pas oublié l'anti-rebonds

    @carcan

    Merci beaucoup, je comprends le principe, c'est exactement ce qu'il me fallait.
    par contre je ne comprend pas pourquoi tu mets "!"devant input(PIN_A4); ?

    sinon je voulais savoir s'il existe qq chose dans ce genre en C ?

    IF (bpplus'EVENT AND bpplus = '1') THEN

    PS : c'est du langage VHDL.

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

    Re : comment faire UNE incrémentation avec un BP .

    Citation Envoyé par massepower Voir le message
    @amoniac

    je vais utiliser un microship, compilateur, je ne sais pas encore, sinon pour le schema : ma question posé est sur un exemple, ce que je cherche a faire est plus compliqué. sinon je n'ai pas oublié l'anti-rebonds

    @carcan

    Merci beaucoup, je comprends le principe, c'est exactement ce qu'il me fallait.
    par contre je ne comprend pas pourquoi tu mets "!"devant input(PIN_A4); ?
    Car il suppose que ton niveau actif est à 0.

    À chacun sa méthode, moi j'dis : vive les interruptions .

  7. #6
    invite6c73e4d4

    Re : comment faire UNE incrémentation avec un BP .

    je vois a quoi correspond les interruptions mais je ne sais pas comment cela s'utilise.

    mais mon code en VHDL, ca doit resemblé à un interruption non ?

    sinon tu peux me dire ou apprendre à faire des interruptions ?

  8. #7
    invite00e5225f

    Re : comment faire UNE incrémentation avec un BP .

    Salut

    Si c'est du vhdl tu peux utiliser directement un "rising_edge()" ou "falling_edge()" qui détecte respectivement les fronts montants et descendants d'une entrée.De toute façon avec n'importe quel code ton truc ressemble à:

    Si front montant (ou descendant) alors X++

  9. #8
    jiherve

    Re : comment faire UNE incrémentation avec un BP .

    Bonjour,
    que ce soit du C ou du VHDL il faudra d'abord faire un antirebond sinon il y aura plusieurs incrémentation par appuis ;ce sujet étant abordé de façon récurrente sur ce forum je ne m’étalerais pas plus.
    JR
    l'électronique c'est pas du vaudou!

  10. #9
    invite3a1051d7

    Re : comment faire UNE incrémentation avec un BP .

    bonjour,
    si tu comptabilises les fronts montants tu en génères un sur chaque rebond dont le plus simple c'est
    1/detection du front montant
    2/attendre un temps suffissant (temps maxi pendant lequel il peut avoir des rebonds)
    3/ suite du traitement
    ainsi les rebonds ne sont pas pris en compte.
    c'est le principe de l'antirebond logiciel
    cordialement
    Alain

  11. #10
    invite6c73e4d4

    Re : comment faire UNE incrémentation avec un BP .

    pour l'antirebond, je pensais mettre une capa sur mon BP, cela ne marche pas ?

  12. #11
    carcan

    Re : comment faire UNE incrémentation avec un BP .

    Hello !

    l'antirebonds se fait par soft avec un simple "delay" de qq millisecondes dans la boucle qui scrute tes entrées (ou dans la routine d'interruption).

    A+
    Laurent

Discussions similaires

  1. Comment faire une porte ET avec des diodes ?
    Par inviteeddea82a dans le forum Électronique
    Réponses: 12
    Dernier message: 28/12/2016, 16h01
  2. Comment faire une IA avec un réseau de neurones?
    Par invite0c5534f5 dans le forum Mathématiques du supérieur
    Réponses: 25
    Dernier message: 25/06/2010, 19h53
  3. [Brun] comment faire marcher 2 tv avec une parabole 1 tete
    Par inviteba82b891 dans le forum Dépannage
    Réponses: 8
    Dernier message: 11/10/2009, 13h18
  4. comment faire un mouvement de translation avec une bobine ?
    Par invite0a853380 dans le forum Électronique
    Réponses: 6
    Dernier message: 14/04/2008, 20h08
  5. Résoudre une équation avec une fraction rationnelle, comment faire?
    Par invite0c5534f5 dans le forum Mathématiques du collège et du lycée
    Réponses: 8
    Dernier message: 30/09/2007, 00h33
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...