IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Problème incrémentation avec bouton Arduino


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Problème incrémentation avec bouton Arduino
    Bonsoir,
    je travaille actuellement dans le cadre d'un projet de terminale, sur un bras robotisé que je suis censé contrôlé avec un wii nunchuck. J'ai donc en effet rencontré un problème concernant les boutons du nunchuck. J'ai associé une incrémentation d'une variable quand j'appuie sur le bouton Z, cependant cela ne l’incrémente pas de 1 mais à l’infini (J'aimerais que même si je reste appuyé indéfiniment sur le bouton, cela ne l’incrémente que d'un chiffre)
    Auriez vous des solutions/conseils à me proposer ?

    Cordialement

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Sans voir ton code, c'est difficile de t'aider.
    Je suppose que tu as écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si le bouton est appuyé alors incrémenter le compteur
    Alors qu'il aurait fallu écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si le bouton était relaché et qu'il est appuyé alors incrémenter le compteur
    A toi de gérer ce changement d'état
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Tout d'abord merci pour votre réponse rapide et excusez - moi pour l'oubli de mon code : je vous le joint ci contre et effectivement j'ai fait la méthode "Si le bouton est appuyé alors incrémenter le compteur" ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void loop() 
    {
    if (wii.poll())
    {
    if (wii.buttonZ() == 1)
    {
    p++;
    }
    }
    delay(200);
    }
    EDIT: Faut-il faire comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void loop() 
    {
    memoire_Z == wii.buttonZ();
    if (wii.poll())
    {
    if (wii.buttonZ() != memoire_Z && wii.buttonZ() == 1)
    {
    p++;
    }
    }
    delay(200);
    }

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par Titaii2 Voir le message
    EDIT: Faut-il faire comme ceci ?
    presque...
    il faut mémoriser l'état du bouton après l'action, pas avant.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void loop() 
    {
    if (wii.poll())
    {
    if (wii.buttonZ() != memoire_Z && wii.buttonZ() == 1)
    {
    p++;
    }
    }
    memoire_Z == wii.buttonZ();
    delay(100);
    }
    Je suppose comme cela ?

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    teste, plutôt que de demander si c'est juste

Discussions similaires

  1. Comment faire une coupure de mot avec un tiret ?
    Par hellspawn_ludo dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 14/01/2008, 21h17
  2. Réponses: 1
    Dernier message: 16/07/2007, 12h49
  3. Comment faire une balise <html:text> avec valeur dynamique
    Par chriscoolletoubibe dans le forum Struts 1
    Réponses: 13
    Dernier message: 14/05/2007, 22h13
  4. Comment faire une division par 5 avec les decalages
    Par Zaion dans le forum Assembleur
    Réponses: 7
    Dernier message: 05/11/2004, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo