Bouton poussoir code arduino
La broche d’entrée 7 de l’Arduino détecte le niveau logique 1 (HIGH). C’est parce qu’il y a un flux de courant dans cette broche. 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 sans résistance
S’il y a dix autres tâches, la méthode de poling vous fait attendre que les dix tâches soient terminées avant de pouvoir vérifier à nouveau l’état de la broche du bouton. Dans certains scénarios, cela ne sera 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.
Bouton poussoir Arduino
Tout d’abord, comme une bonne pratique, nous utilisons quelques définitions pour garder le numéro de pin pour la LED et le bouton poussoir. Ainsi, si vous avez utilisé des broches différentes des miennes, il vous suffit de modifier ces 2 lignes. Aussi, dans le futur, si vous voulez changer la LED de la broche 8 à la broche 11 par exemple, vous pouvez modifier cette ligne sans toucher à rien d’autre dans le code.
Dans la fonction de boucle, nous commençons par lire l’état du bouton avec la fonction digitalRead(). Comme nous avons une résistance d’excursion basse sur le bouton, nous savons que l’état non pressé nous donnera la valeur LOW.
(Remarque : si vous utilisiez une résistance pull up, ou aucune résistance du tout – avec l’option INPUT_PULLUP pour pinMode – ce serait l’inverse. HIGH lorsque le bouton n’est pas pressé, et LOW lorsqu’il est pressé).
Avec la condition, nous n’entrons dans le bloc de code suivant que si l’état actuel et le dernier état sont différents. Si les 2 états sont les mêmes, alors nous n’entrons pas dans le if et la fonction de boucle est terminée pour ce tour.
Ici, nous changeons l’état de la LED. Je ne suis pas un grand fan des one-liners mais celui-ci est vraiment pratique quand vous avez juste besoin de basculer un état. Cela vous permettra d’économiser 3-4 lignes de code pour quelque chose de vraiment trivial.
Bouton Arduino anschließen
Connectez l’autre borne correspondante à Gnd. La borne correspondante est généralement du même côté que la première.Add TipAsk QuestionCommentDownloadStep 4 : Connectez la première borne (celle avec la résistance) à la broche 2 sur l’Arduino et charger le programme :
ReplyUpvoteHey j’ai terminé ceci mais j’ai une question. Je viens d’obtenir le pack de démarrage Arduino UNO donc j’ai un petit breadboard et un bouton. Il ne répond pas toujours à mon bouton et parfois s’éteint. Y a-t-il un moyen de le faire à une plus petite échelle.0ironheartbj18
sur IntroductionReplyUpvoteIl n’y a pas assez de détails dans le code, je ne suis pas sûr de la façon dont vous obtenez le changement du bleu au vert. cela n’a aucun sens si le haut va changer au bleu changer au bleu ou au rouge. cela m’a rendu suspect. quel genre de vous utilisiez le led.
sur IntroductionReplyUpvoteDude. C’est juste une LED qui change de couleur. Il n’y a pas besoin de programmation pour changer de couleur. Elle le fait toute seule. Si vous aviez utilisé une LED bleue/verte/rouge à la place, elle n’aurait pas changé de couleur.0Adhanala