Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Page 1 sur 5 12 3 4 DernièreDernière
Affichage des résultats 1 à 15 sur 62

Interruptions avec bouton (Arduino)

  1. naramdani

    Date d'inscription
    février 2017
    Messages
    16

    Red face Interruptions avec bouton (Arduino)

    Bonjour,

    l'arduino quitte temporairement la fonction loop (peu importe l'endroit ou il en est) pour traiter ta fonction, puis revient dans loop pour reprendre exactement ou il s'était arrêté.


    Si je veux que l'arduino exécute ma fonction d'interruption mais apr contre qu'il revient au début de la fonction main() je fais comment ?


    Cordialement

    -----

     


    • Publicité



  2. Jiav

    Date d'inscription
    juillet 2004
    Messages
    8 239

    Re : Interruptions avec bouton (Arduino)

    Je débute aussi, mais je ne crois pas qu'il existe de méthode toute faite pour cela. Toutefois une façon simple serait de faire en sorte que ta fonction retourne une variable contenant l'information d'interruption, puis que tout le reste du programme soit précédé par un if

    Code:
    void setup() {
        Stop=0;
    }
    void loop() {
        Stop=mafunction(ettoutcequilfautdedans);
        if(Stop=0) {    
             mesautresfonctions(blabla); 
        } 
    }
    The opposite of a deep truth may well be another deep truth. Information is physical.
     

  3. AiMaxTht

    Date d'inscription
    avril 2009
    Messages
    129

    Re : Interruptions avec bouton (Arduino)

    Bonjour,
    Il faudrait connecter une sortie de l'arduino sur l'entrée "reset" de la carte (en option: un transistor et une résistance en pull-up en s'assurant que la sortie soit au niveau 0 par défaut ou 1 s'il n'y a pas de transistor et de résistance, sinon la carte fera une boucle de "reset"). Ensuite en la passant à 1, la carte redémarre, elle recommence au début de main().
    Dernière modification par AiMaxTht ; 17/03/2017 à 18h36.
     

  4. Antoane

    Date d'inscription
    août 2007
    Localisation
    IDF
    Âge
    25
    Messages
    11 594

    Re : Interruptions avec bouton (Arduino)

    Bonsoir,

    Déplacé en électronique.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.
     

  5. bastien31

    Date d'inscription
    avril 2014
    Messages
    150

    Re : Interruptions avec bouton (Arduino)

    Classique avec une carte arduino, on fait sans comprendre renflement ce que 'on fait.
    Le microcontrôleur est certainement capable de gérer les interruptions.
    Change de logiciel de programmation!!!
     


    • Publicité



  6. Yvan_Delaserge

    Date d'inscription
    mars 2013
    Localisation
    Aspretto
    Messages
    2 015

    Re : Interruptions avec bouton (Arduino)

    Citation Envoyé par AiMaxTht Voir le message
    Bonjour,
    Il faudrait connecter une sortie de l'arduino sur l'entrée "reset" de la carte (en option: un transistor et une résistance en pull-up en s'assurant que la sortie soit au niveau 0 par défaut ou 1 s'il n'y a pas de transistor et de résistance, sinon la carte fera une boucle de "reset"). Ensuite en la passant à 1, la carte redémarre, elle recommence au début de main().
    Il n'y a pas de fonction main() en langage Arduino. Il y a void setup() puis void loop(). Et avant void setup(), il peut y avoir des variables qui reçoivent des valeurs.
    Si tu fais un reset, tu vas revenir au tout début du programme, pas au début de void loop()
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)
     

  7. Forhorse

    Date d'inscription
    décembre 2010
    Messages
    1 748

    Re : Interruptions avec bouton (Arduino)

    De toutes façons c'est quoi cette manie d'utiliser les interruptions pour lire des boutons ?
    Les interruptions c'est fait pour traiter des événements rapides, l’appui sur un bouton n'est pas un événement rapide.
    Tout projet flou conduit à une connerie précise !
     

  8. antek

    Date d'inscription
    février 2015
    Messages
    7 559

    Re : Interruptions avec bouton (Arduino)

    Citation Envoyé par Forhorse Voir le message
    De toutes façons c'est quoi cette manie d'utiliser les interruptions pour lire des boutons ?
    Les interruptions c'est fait pour traiter des événements rapides, l’appui sur un bouton n'est pas un événement rapide.
    C'est utile, et parfois même indispensable.
     

  9. lpt1com2

    Date d'inscription
    novembre 2012
    Messages
    844

    Re : Interruptions avec bouton (Arduino)

    Citation Envoyé par antek Voir le message
    C'est utile, et parfois même indispensable.
    Il n'a pas dit le contraire, et, personnellement, je suis assez d'accord avec son commentaire.
    Il vaut mieux être le deuxième mari d'une veuve, que le premier
     

  10. antek

    Date d'inscription
    février 2015
    Messages
    7 559

    Re : Interruptions avec bouton (Arduino)

    Citation Envoyé par lpt1com2 Voir le message
    Il n'a pas dit le contraire, et, personnellement, je suis assez d'accord avec son commentaire.
    Alors je n'ai pas compris ce qu'il a voulu dire !

    Interruption ou pas, c'est un choix de la structure du programme, pas une manie.
    Un "évenement rapide" ne veut rien dire !
    En entrée µC on a un niveau 0 ou 1, c'est la durée de présence du niveau à prendre en compte qui est importante.
    Et les interruptions seraient réservées à des évènements particuliers ?
     

  11. lpt1com2

    Date d'inscription
    novembre 2012
    Messages
    844

    Re : Interruptions avec bouton (Arduino)

    Citation Envoyé par antek Voir le message
    Alors je n'ai pas compris ce qu'il a voulu dire !

    Interruption ou pas, c'est un choix de la structure du programme, pas une manie.
    Un "évenement rapide" ne veut rien dire !
    En entrée µC on a un niveau 0 ou 1, c'est la durée de présence du niveau à prendre en compte qui est importante.
    Et les interruptions seraient réservées à des évènements particuliers ?
    Evidemment, ça dépend des nécessités du programme. Mais utiliser les interruptions à outrance n’est pas forcément une bonne idée. Elles sont indispensables pour une gestion d’UART ou de timer, par exemple, mais pour savoir si un bouton est actionné, il suffit d’un test dans la boucle. L’utilisateur ne se rendra pas compte qu’il a appuyé 10 millisecondes de plus parce que le programme était occupé ailleurs, éventuellement par d’autres interruptions urgentes.
    Il vaut mieux être le deuxième mari d'une veuve, que le premier
     

  12. antek

    Date d'inscription
    février 2015
    Messages
    7 559

    Re : Interruptions avec bouton (Arduino)

    Citation Envoyé par lpt1com2 Voir le message
    Mais utiliser les interruptions à outrance n’est pas forcément une bonne idée. Elles sont indispensables pour une gestion d’UART ou de timer, par exemple, mais pour savoir si un bouton est actionné, il suffit d’un test dans la boucle. L’utilisateur ne se rendra pas compte qu’il a appuyé 10 millisecondes de plus parce que le programme était occupé ailleurs, éventuellement par d’autres interruptions urgentes.
    A outrance ? Autant que nécessaire !
    La gestion des interruptions est hiérarchisable.
     

  13. DAUDET78

    Date d'inscription
    septembre 2006
    Localisation
    Ile de France
    Âge
    74
    Messages
    61 414

    Re : Interruptions avec bouton (Arduino)

    Citation Envoyé par antek Voir le message
    A outrance ? Autant que nécessaire !
    La gestion des interruptions est hiérarchisable.
    +1
    Et un bouton (ou des boutons !), ça se teste avec un timer, ce qui permet , en prime, de faire un anti-rebond par soft.
    je suis en vacances de 19 au 30 juin. Bon forum !
     

  14. Forhorse

    Date d'inscription
    décembre 2010
    Messages
    1 748

    Re : Interruptions avec bouton (Arduino)

    Par exemple, un automate programmable industriel est capable de géré des dizaines, voir des centaines d'entrées : boutons, capteurs, commutateurs, interrupteurs... sans interruptions, simplement en scrutant régulièrement ses entrées (temps de cycle typique 10ms)
    Dans ce contexte les interruptions sont plutôt utilisées pour des périphériques genre codeur incrémental, compteurs, communication.

    Je ne vois pas pourquoi un µC aurait besoin d'interruption pour gérer l’appui sur un bouton poussoir (actionné par un humain...)
    ça fait pas loin de 20 ans que je bricole avec des µC, et j'ai jamais eu besoins d'interruptions pour gérer des boutons. (et mes boutons réagissent très bien et sans latence...)
    Je ne dis pas qu'il ne faut pas le faire, et je ne dis pas qu'il n'y a pas des cas particuliers où ça peut être nécessaires, mais quand on regardes un peu l'historique des messages liés à la programmation de µC, on constate que de plus en plus souvent on à recours aux interruptions pour lire des boutons, alors qu'a côté de ça les programmes sont bourrés de "delay()" et autres temporisations bloquantes du genre. (mais l'un ne va pas sans l'autre, forcement on ne peut pas faire un scrutation régulière des boutons, si à côté de ça le programme passe un temps fou bloqué par des boucles de temporisations...)
    J'ai surtout l'impression que les bonnes pratiques de la programmation se perdent, et que pour compenser on à de plus en plus recours à des artifices inutiles pour se sortir d'un programme mal foutu...

    Donc je persiste, dans un contexte normal (genre j'appuie sur un bouton ça allume une led, je re-appuie ça l’éteint) les interruptions ne sont pas nécessaires.
    Tout projet flou conduit à une connerie précise !
     

  15. DAUDET78

    Date d'inscription
    septembre 2006
    Localisation
    Ile de France
    Âge
    74
    Messages
    61 414

    Re : Interruptions avec bouton (Arduino)

    Citation Envoyé par Forhorse Voir le message
    Donc je persiste, dans un contexte normal (genre j'appuie sur un bouton ça allume une led, je re-appuie ça l’éteint) les interruptions ne sont pas nécessaires.
    Normal ! Pour faire ça, il n'y a pas besoin, aussi, de µC ........ un simple NE555 est suffisant .
    je suis en vacances de 19 au 30 juin. Bon forum !
     


    • Publicité




Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. [Analogique] On/Off Arduino avec Bouton Fugitif
    Par Rodila dans le forum Électronique
    Réponses: 3
    Dernier message: 02/06/2016, 16h32
  2. Besoin d'aide Servomoteur Arduino avec bouton.
    Par theol31 dans le forum Électronique
    Réponses: 3
    Dernier message: 12/02/2016, 00h04
  3. Alimentation Arduino avec bouton manuel et electrique
    Par baptiste77370 dans le forum Électronique
    Réponses: 3
    Dernier message: 10/10/2015, 18h56
  4. besoin d'aide bouton poussoir avec l'arduino mega
    Par joeman1 dans le forum Électronique
    Réponses: 11
    Dernier message: 20/10/2014, 20h32
  5. Allumer une led avec un bouton pousoir (Arduino)
    Par Darrkshadow dans le forum Électronique
    Réponses: 9
    Dernier message: 12/12/2012, 13h26