Interruption du bouton Arduino
Détection du changement d’état du bouton Dans cette section, je vais vous montrer comment détecter le changement d’état du bouton. Le code ci-dessous détectera le moment où la sortie du bouton passe de l’état HIGH à l’état LOW. Cela signifie qu’il ne détectera que l’appui sur le bouton, et non son relâchement. Vous pouvez utiliser cet événement pour contrôler beaucoup de choses. Cet exemple fonctionnera sur le circuit précédent. Donc vous n’avez pas besoin de changer le circuit. Il suffit de télécharger le code ci-dessous, d’appuyer sur le bouton plusieurs fois et de voir comment cela fonctionne.Le code ci-dessous fera basculer une LED chaque fois que le bouton est pressé.Arduino Codeconst int buttonPin = 13 ;
Arduino Push Button CounterDans certains projets, vous avez besoin de compter les pressions sur le bouton. Par exemple, si vous voulez augmenter la luminosité d’une LED par paliers chaque fois que vous appuyez sur le bouton ou si vous voulez augmenter/diminuer la vitesse d’un moteur avec une entrée de bouton.Dans cette section, je vais vous montrer comment compter les appuis sur le bouton. Le code ci-dessous comptera les pressions sur le bouton de 0 à 10, puis remettra le compteur à zéro. Vous pouvez voir la sortie sur le moniteur série de l’Arduino. Dans les sections suivantes, vous pouvez voir les utilisations pratiques du compteur de boutons-poussoirs.Arduino Codeconst int buttonPin = 13 ;
Bouton Arduino sans résistance
Exemples intégrésComment câbler et programmer un boutonComment câbler et programmer un boutonApprenez à câbler et programmer un bouton-poussoir pour contrôler une LED.DERNIÈRE RÉVISION : 19/05/2022, 04:08 PMPes boutons-poussoirs ou interrupteurs connectent deux points dans un circuit lorsque vous les appuyez. Cet exemple allume la LED intégrée sur la broche 13 lorsque vous appuyez sur le bouton.Circuit matériel
Connectez trois fils à la carte. Les deux premiers, rouge et noir, se connectent aux deux longues rangées verticales sur le côté de la planche d’essai pour donner accès à l’alimentation 5 volts et à la masse. Le troisième fil va de la broche numérique 2 à une jambe du bouton-poussoir. Cette même patte du bouton est reliée à la masse par une résistance d’excursion basse (ici 10K ohm). L’autre branche du bouton est reliée à l’alimentation de 5 volts. Lorsque le bouton est ouvert (non pressé), il n’y a pas de connexion entre les deux branches du bouton, la broche est donc reliée à la masse (par la résistance d’excursion basse) et nous lisons un BAS. Lorsque le bouton est fermé (enfoncé), il établit une connexion entre ses deux pattes, reliant la broche à 5 volts, de sorte que nous lisons un HIGH.Vous pouvez également câbler ce circuit dans l’autre sens, avec une résistance pull-up maintenant l’entrée HIGH, et allant LOW lorsque le bouton est enfoncé. Dans ce cas, le comportement du sketch sera inversé, la DEL étant normalement allumée et s’éteignant lorsque vous appuyez sur le bouton. Si vous déconnectez la broche d’E/S numérique de tout, la DEL peut clignoter de manière erratique. Cela est dû au fait que l’entrée est ” flottante “, c’est-à-dire qu’elle renvoie aléatoirement un signal HIGH ou LOW. C’est pourquoi vous avez besoin d’une résistance pull-up ou pull-down dans le circuit.
Bouton Arduino 2 pin
La broche d’entrée 7 de l’Arduino détecte la logique 1 (HIGH). C’est parce qu’elle est traversée par un courant. Cela peut s’expliquer par le chemin choisi par le courant. Le courant est un élément intelligent. Lorsque le bouton est pressé, le courant a deux voies à choisir. Le chemin vers l’Arduino ou le chemin vers la résistance. Le chemin facile ou le chemin difficile ? Bien sûr, le courant choisira le chemin facile, c’est-à-dire le chemin de l’Arduino. Ceci est dû à la résistance interne de l’Arduino qui est mineure comparée à la résistance de 10k ohm.
La broche d’entrée 7 de l’Arduino détecte le 0 logique (LOW). Comme pour la configuration active HIGH, le courant a deux possibilités de choix. Cette fois, c’est un peu différent, le courant peut soit passer par le fil sans résistance, soit par l’Arduino avec une petite résistance interne. Le courant choisira le chemin du fil en raison de la résistance négligeable du fil. Etonnant hein.
Il est temps de se salir les mains. Avant de commencer à télécharger le code, vous pourriez me demander si la connexion des broches dans la figure ci-dessus semble compliquée. Rassurez-vous, comme je l’ai dit à la fin du projet 0 où tous les projets postés dans cette série sont connectés. Si vous n’êtes pas intéressé par la suite de cette série, il vous suffit de connecter le bouton et la résistance. D’autre part, si vous êtes intéressé, vous pouvez suivre mon projet 1 (LED clignotante), projet 2 (communication série) et projet 3 (PWM) tutorial write-up.
Bouton Arduino anschließen
S’il y a dix autres tâches, la méthode de poling vous fait attendre la fin de ces dix tâches avant de pouvoir vérifier à nouveau l’état de la broche du bouton. Dans certains scénarios, cela n’est pas acceptable.
Je vais vous montrer une procédure étape par étape pour configurer Arduino afin de lire l’état du bouton dans la méthode d’interruption. Dans cet exemple, nous allons faire clignoter la LED embarquée connectée à la broche #13 de l’Arduino.
MODE D’INTERRUPTIONMode de fonctionnementL’événement sera indépendant de la tâche sur laquelle travaille l’UC (asynchrone)Synchrone aux tâches de l’UC. Se produit à intervalles réguliersTrès efficace pour gérer les tâches qui sont moins fréquentesMoins efficaceS’adapte aux applications alimentées par batterieNon adapté aux applications sur batterie car l’interrogation prend beaucoup de cycles CPUNécessite plus de code pour une configuration uniqueSimple à configurer.