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 :

Séquence de boutons


Sujet :

Arduino

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    rédacteur journaliste
    Inscrit en
    Février 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : rédacteur journaliste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Séquence de boutons
    Bonjour, je tente présentement de programmer un système où mes enfants devront appuyer sur la bonne séquence de boutons pour qu'une boîte ouvre et qu'ils y trouvent leur cadeau de Pâques. (5 à 8 boutons et ils doivent trouver la bonne séquence de 10 ou 15 à appuyer pour faire débarrer un loquet qui ouvrira une boite en bois où leur cadeau est caché)
    Mon loquet est un 12 v.
    Des idées ou pistes? Merci

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut
    Bonjour,

    Des boutons-poussoirs lumineux (illuminated push buttons), un système de multiplexage/démultiplexage pour multiplier les entrées-sorties, et un relais pour commander l'activation du loquet.

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    les Arduino ont 16 entrées / sorties, à mon avis il n'est pas nécessaire d'avoir un multiplexeur.

    Le code est composé de 8 boutons, une de leur bornes reliée à la masse et la seconde sur les entrées voulues, et on configure les entrées en pull-up :
    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    const int nbBtn = 8; // le code est composé de 8 boutons
     
    //  Les boutons sont sur les entrées 2, 3, 4, 5, 6, 7, 8, 9. Sur UNO on évitera de connecter les voies 0 et 1 surtout si on utilise les fonctions Serial()
    int codeBtn[nbBtn]={2,3,4,5,6,7,8,9}; // code, l'ordre a une importance (le code est ici 23456789).
    int relais = 13; // sortie pour le relais (il y a aussi une led montée sur la platine)
    int i, idx;
    bool erreur;
     
    void setup() 
    {
      // configuration des E/S
      for (i=0; i<nbBtn; i++)
      {
        pinMode(codeBtn[i], INPUT_PULLUP);
      }
      pinMode(relais, OUTPUT);
      idx = 0;
      erreur = false;
     
    }
     
    void loop() 
    {
      erreur = false;
      // rappel : les entrées sont en pull-up.
      // on scanne toutes les voies, si une voie est à 0 (LOW) et que cela correspond, on incrémente un compteur
      // si le mauvais bouton est pressé, il y a erreur, le compteur retourne à  et on doit recommencer la séquence.
      for (i=0; i<nbBtn; i++)
      {
        if (digitalRead(codeBtn[i]) == LOW)
        {
          if (i == idx)
            idx++;
          else
            erreur = true;
        }
      }
     
      if (erreur)
        idx = 0;
     
      if (idx == nbBtn) // gagné
      {
        digitalWrite(relais, HIGH); // ouverture loquet
        delais(10000); 
        digitalWrite(relais, LOW); // fermeture loquet après 10s
      }
     
     
      delay(500); // pour gérer les rebonds des interrupteurs
    }

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    rédacteur journaliste
    Inscrit en
    Février 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : rédacteur journaliste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Donc...
    Si je comprends bien avec un kit de base Arduino et huit boutons, j'ai tout le matériel nécessaire et j'entre le code suggéré?

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    J'ai oublié d'indiquer que je n'ai pas testé le programme Des bogues peuvent persister.

    f-leb suggère d'utiliser des boutons lumineux ce qui permet d'avoir un retour visuel sur ce que l'on fait. Et là, à moins d'utiliser un Arduino Mega et ses 54 E/S, il sera difficile de tout gérer avec un UNO ou équivalent. D'où le multiplexeur.

    Dans mon cas, j'ai fait le strict minimum : il n'y a aucun retour visuel, sauf la LED sur la sortie 13 ou le clac du relais qui indiquera que la séquence est correcte, donc tout à la fin. On peut ajouter une LED qui indique une erreur dans la séquence, ce que je n'ai pas fait.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    rédacteur journaliste
    Inscrit en
    Février 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : rédacteur journaliste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Merci :)
    Je vais commencer avec ces informations! Ça m'aide beaucoup.
    J'ai idée de faire un autre truc funny: leur faire une énigme où ils doivent cacher les yeux sur une photo accrochée au mur et ça allume la cachette de la boîte. Là je pense que ça devient plus compliqué haha.

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    je déterre un peu le post mais je cherche à faire exactement le même genre de projet et je galère un peu.
    En testant le programme plus haut le relais et la led de contrôle s'activent en permanence, même sans avoir appuyer sur aucun bouton.
    Une idée de l'erreur à modifier dans le code existant ?

    Merci d'avance.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Schéma
    Bonjour,
    Il me semble que ton code répond parfaitement à la demande, mais serait il possible d'avoir une aide pour le montage?
    Merci...
    Nom : schema arduino.JPG
Affichages : 1039
Taille : 74,7 Ko



    Citation Envoyé par Auteur Voir le message
    bonjour,

    les Arduino ont 16 entrées / sorties, à mon avis il n'est pas nécessaire d'avoir un multiplexeur.

    Le code est composé de 8 boutons, une de leur bornes reliée à la masse et la seconde sur les entrées voulues, et on configure les entrées en pull-up :
    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    const int nbBtn = 8; // le code est composé de 8 boutons
     
    //  Les boutons sont sur les entrées 2, 3, 4, 5, 6, 7, 8, 9. Sur UNO on évitera de connecter les voies 0 et 1 surtout si on utilise les fonctions Serial()
    int codeBtn[nbBtn]={2,3,4,5,6,7,8,9}; // code, l'ordre a une importance (le code est ici 23456789).
    int relais = 13; // sortie pour le relais (il y a aussi une led montée sur la platine)
    int i, idx;
    bool erreur;
     
    void setup() 
    {
      // configuration des E/S
      for (i=0; i<nbBtn; i++)
      {
        pinMode(codeBtn[i], INPUT_PULLUP);
      }
      pinMode(relais, OUTPUT);
      idx = 0;
      erreur = false;
     
    }
     
    void loop() 
    {
      erreur = false;
      // rappel : les entrées sont en pull-up.
      // on scanne toutes les voies, si une voie est à 0 (LOW) et que cela correspond, on incrémente un compteur
      // si le mauvais bouton est pressé, il y a erreur, le compteur retourne à  et on doit recommencer la séquence.
      for (i=0; i<nbBtn; i++)
      {
        if (digitalRead(codeBtn[i]) == LOW)
        {
          if (i == idx)
            idx++;
          else
            erreur = true;
        }
      }
     
      if (erreur)
        idx = 0;
     
      if (idx == nbBtn) // gagné
      {
        digitalWrite(relais, HIGH); // ouverture loquet
        delais(10000); 
        digitalWrite(relais, LOW); // fermeture loquet après 10s
      }
     
     
      delay(500); // pour gérer les rebonds des interrupteurs
    }

  9. #9
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 394
    Points
    5 394
    Par défaut
    dans le schéma précédent, attention de tourner les boutons dans le bon sens... les pins sont reliées 2 à 2 donc ne pas mettre sur la même colonne de breadboard les pin opposées sinon on les connecte...

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Modification
    Citation Envoyé par Jay M Voir le message
    dans le schéma précédent, attention de tourner les boutons dans le bon sens... les pins sont reliées 2 à 2 donc ne pas mettre sur la même colonne de breadboard les pin opposées sinon on les connecte...
    Vous pensez que c'est mieux comme ça? Ça ne marche toujours pas...
    Nom : schema arduino2.JPG
Affichages : 1049
Taille : 91,3 Ko

    Merci de votre aide

  11. #11
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 332
    Points : 4 153
    Points
    4 153
    Par défaut Au quart de tour
    Bonjour,

    Pour répondre à la proposition de Jay M, le schéma ne sert à rien, il faut intervenir sur le montage réel.

    Je propose le processus suivant :
    1. Retirer tous les interrupteurs sauf un
    2. Tester
    3. Si ça ne marche pas, retirer l'interrupteur et le tourner d'un quart de tour avant de le remettre. Si ça ne marche toujours pas, le sens des interrupteurs n'est pas en cause.
    4. Si ça marche, opérer de même avec l'interrupteur suivant à partir de l'étape 2 (il n'est pas utile de retirer les interrupteurs testés OK)

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  12. #12
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 394
    Points
    5 394
    Par défaut
    @Guesset a raison pour le test

    pour répondre à la question cependant, oui c'est mieux en les mettant à cheval sur la séparation et dans ce cas on connecte toujours en diagonale à travers le bouton, comme cela on est sûr de ne pas prendre les 2 même broches.

  13. #13
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir jeanphikhors

    Citation Envoyé par Jay M Voir le message
    dans le schéma précédent, attention de tourner les boutons dans le bon sens... les pins sont reliées 2 à 2 donc ne pas mettre sur la même colonne de breadboard les pin opposées sinon on les connecte...
    Tel que dans le post #8, le câblage des boutons est bon.

    Citation Envoyé par jeanphikhors Voir le message
    Ça ne marche toujours pas...
    Fondamentalement, ton montage est bon, j'ai juste un peu "retouché" l'antirebonds et ajouté le flash de la LED en cas d'erreur. Tu peux l'essayer ici.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  14. #14
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 394
    Points
    5 394
    Par défaut
    Tel que dans le post #8, le câblage des boutons est bon.
    Tinkercad connecte toujours les broches du bouton en vertical et pas horizontal ? (je n'utilise pas)
    Dans la vraie vie ensuite, il faut faire gaffe car on ne voit pas la différence sans tester avec les vrais boutons

    le c'est quand même beaucoup pour un anti-rebond et ça se sent dans l'interface homme machine... (1/5 seconde c'est un peu visible si on va vite de bouton en bouton)
    je proposerais de mettre il manque la connexion à GND pour tous les boutons dans votre montage non ?

  15. #15
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 332
    Points : 4 153
    Points
    4 153
    Par défaut
    Bonjour,

    Il y a un problème avec le code proposé car il vérifie seulement que le bouton appuyé est correct. Si aucun bouton n'est appuyé il n'y a pas d'erreur et bingo. J'ai modifié ce code en supposant qu'un seul bouton pouvait être appuyé à la fois. La configuration où tout les boutons sont remontés est passive, simplement en attente d'un nouvel appui. Il y a donc trois cas : réinitialisation si erreur, passer à l'étape suivante, statu quo d'attente. Comme un booléen à trois valeurs c'est rare, je l'ai remplacé par une variable d'incrémentation de Idx.

    Ce code n'est pas testé. Avec un peu de chance, je n'aurais pas ajouté plus d'erreurs que j'en ai corrigé
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    const int BtnCount = 8;                          // Le code est composé de 8 boutons
     
    // Les boutons sont sur les entrées 2, 3, 4, 5, 6, 7, 8, 9. Sur UNO on évitera de connecter les
    // voies 0 et 1 surtout si on utilise les fonctions Serial()
    int BtnCode[BtnCount] = {2, 3, 4, 5, 6, 7, 8, 9};// Code 23456789, l'ordre le définit
    int BtnStatus[BtnCount];
    int relais = 13;                                 // sortie pour le relais (avec led)
    int Idx;                                         // Index de l'étape en cours
     
    void setup() 
    {
      // configuration des E/S
      for (i=0; i < BtnCount; i++)
      {
        pinMode(BtnCode[i], INPUT_PULLUP);
        BtnStatus[i] = HIGH;
      }
      pinMode(relais, OUTPUT);
      Idx = 0;
    }
     
    void loop() 
    {
       int i, Status, dIdx = 0;
       // Rappel : les entrées sont en pull-up.
       // On scanne toutes les voies, si une voie et une seule passe à 0 (LOW) et qu'elle correspond à
       // Idx on passe à l'étape suivante sinon on réinitialise la séquence.
       for (i = 0; i < BtnCount; i++)
       {
          Status = digitalRead(BtnCode[i]);
          if(Status < BtnStatus[i])                  // Appui sur BtnCode[i] ?
             dIdx = (i == Idx)? +1: -Idx;            // Si i est Idx préparer passage à l'étape suivante
          else
             if(Status == LOW) dIdx = -Idx;          // Un seul bouton appuyé
          BtnStatus[i] = Status;
       }
       if(dIdx > 0)                                  // Appui correct
       {
          delay(20);                                 // Laisser la transition se finir (rebonds)
          while(digitalRead(BtnCode[idx]) = LOW)     // Attendre que le bouton BtnCode[Idx] remonte
             delay(20);
          Idx++;
          if(Idx == BtnCount)                        // Gagné
          {
             digitalWrite(relais, HIGH);             // Ouverture loquet
             delay(10000); 
             digitalWrite(relais, LOW);              // Fermeture loquet après 10s
             Idx = 0;                                // Prêt à recommencer 
          }
       }
       else Idx += dIdx;
       delay(20);
    }
    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  16. #16
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir
    Citation Envoyé par Jay M Voir le message
    Tinkercad connecte toujours les broches du bouton en vertical et pas horizontal ? (je n'utilise pas)
    Tinkercad connecte les boutons comme les vrais! sinon ce ne serait pas une simulation. Une pression connecte les broches les plus rapprochées ou en diagonale. Les broches les plus éloignées son pontées, en permanence, avec leur vis-à-vis.

    Citation Envoyé par Jay M Voir le message
    Dans la vraie vie ensuite, il faut faire gaffe car on ne voit pas la différence sans tester avec les vrais boutons
    Et à quoi sert ce simulateur si ce n'est pas la même chose?

    Citation Envoyé par Jay M Voir le message
    il manque la connexion à GND pour tous les boutons dans votre montage non ?
    Euh non!!! la simulation ne fonctionnerait pas!!!

    J'ai corrigé l'antirebonds à 20 mSec.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  17. #17
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 394
    Points
    5 394
    Par défaut
    Tinkercad connecte les boutons comme les vrais! sinon ce ne serait pas une simulation. Une pression connecte les broches les plus rapprochées ou en diagonale. Les broches les plus éloignées son pontées, en permanence, avec leur vis-à-vis.
    C'est peut être parce que j'ai besoin de meilleures lunettes ou d'un peu de mémoire

    Vue de dessus je vois des petits points ronds noirs et Quand je tiens le bouton dans la main, je suis incapable de dire quel côté a ses pins connectées entre elles sans tester

    Nom : bouton.png
Affichages : 837
Taille : 1,01 Mo


    et pour
    Euh non!!! la simulation ne fonctionnerait pas!!!
    je n'avais pas vu les petits fils noirs du même côté...

    ==> bon je crois que j'ai besoin de nouvelles lunettes clairement

  18. #18
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir Jay M

    Il faut regarder ces boutons depuis dessous, les broches qui ont 2x2.54mm d'écartement, sont pontés en cas de pression du bouton.
    Les plus écartées sont pontées en diagonale, en cas de pression du bouton.
    Les plus écartées sont pontées fixes avec leur vis-à-vis.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2021
    Messages : 6
    Points : 7
    Points
    7
    Par défaut bonjour
    Citation Envoyé par jpbbricole Voir le message
    Bonsoir jeanphikhors

    Tel que dans le post #8, le câblage des boutons est bon.


    Fondamentalement, ton montage est bon, j'ai juste un peu "retouché" l'antirebonds et ajouté le flash de la LED en cas d'erreur. Tu peux l'essayer ici.

    Cordialement
    jpbbricole
    Le code est bon, seulement le 'relais' de s'étteind pas à la fin, qu'elle commande puis-je mettre pour repartir à 0?
    J'ai rajouté : idx = 0; à la fin après le 'digitalWrite(relais, LOW); // fermeture loquet après 10s'

    Maintenant ce code est super.

  20. #20
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 394
    Points
    5 394
    Par défaut
    Citation Envoyé par jeanphikhors Voir le message
    seulement le 'relais' de s'éteint pas à la fin
    le code dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        digitalWrite(relais, HIGH); // ouverture loquet
        delay(10000); 
        digitalWrite(relais, LOW); // fermeture loquet après 10s
    donc normalement il active le relais pendant 10 secondes et le désactive ensuite.

    éventuellement vous pouvez rajouter idx = 0; dans cette section (quand on a trouvé) pour recommencer

Discussions similaires

  1. [Débutant] Charger une séquence d'images à partir d'un bouton
    Par Boutheina87 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 27/06/2014, 06h39
  2. [AS2] Navigation à partir d'un bouton dans clip vers une autre séquence
    Par ingenieurtunisien dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 27/11/2012, 12h59
  3. Réponses: 4
    Dernier message: 22/02/2007, 15h41
  4. Pop-up d'une dialog box a partir d'un bouton
    Par bobbyjack dans le forum MFC
    Réponses: 21
    Dernier message: 13/09/2005, 15h32
  5. Afficher/Masquer un bouton comme IE 6
    Par benj63 dans le forum C++Builder
    Réponses: 3
    Dernier message: 29/07/2002, 13h12

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