Bouton Poussoir Arduino Code

0 views
Skip to first unread message

Matilda Equiluz

unread,
Jul 31, 2024, 4:15:33 AM7/31/24
to wasilrothu

Dans les applications lectroniques, les boutons poussoirs peuvent tre connects des microcontrleurs comme Arduino Maroc pour raliser des fonctions plus complexes. Par exemple, un bouton poussoir peut tre utilis pour dclencher un vnement spcifique, ou pour activer un mode de fonctionnement particulier dans un programme Arduino.

Jusqu' maintenant, nous avons trait des outputs, c'est--dire qu'un signal sortait du microcontrleur sous la forme d'un courant lectrique (HIGH) ou de son absence (LOW) grce la commande digitalWrite. On a utilis jusqu'ici ce signal (un courant lectrique) pour allumer des LED.

bouton poussoir arduino code


DOWNLOAD --->>> https://0compspecosmarbe.blogspot.com/?wn=2zUqTc



De mme, il est possible d'envoyer un signal au microcontrleur, depuis un capteur par exemple. Ce signal est un courant lectrique entrant dans la broche. En fonction du signal reu, le microcontrleur effectuera une tche prvue (allumer la lumire lorsqu'un capteur de mouvement dtecte une prsence, par exemple). Pour cela, nous utiliserons les commandes digitalRead et analogRead.

Au lieu d'utiliser les broches du microcontrleur seulement sous forme de sortie (OUTPUT), nous allons aussi les utiliser sous forme d'entre (INPUT) ; c'est--dire qu'au lieu d'tre raccorde la masse, la broche le sera au +5 V. Tout se passera bien, si au niveau du programme, la broche est configure comme input. Mais si elle devait tre configure en output par erreur, il est presque certain que le microcontrleur finira immdiatement au paradis des puces lectroniques grilles.

Ainsi, pour viter de condamner notre microcontrleur la chaise lectrique, nous allons devoir le protger. Cela peut se faire en connectant sur la broche du microcontrleur utilis comme input une rsistance de 100 200 Ω.

Lorsque vous branchez l'Arduino l'ordinateur, le dernier programme reu est excut. Avant de commencer un nouveau montage, il est plus que conseill d'envoyer un programme d'initialisation, du modle de celui-ci :

Observons ce schma :
Lorsque l'on presse le bouton-poussoir, on envoie un courant lectrique sur la broche 4, qui sera interprt comme un 1. Lorsqu'on relche le bouton, il n'y a plus de courant qui arrive sur la broche 4, ce qui sera interprt comme un 0. On a donc un signal binaire : allum/teint (on/off).

Ce montage contient une rsistance de 10 kΩ (soit 10 000 Ω), qu'on appelle pull-down (littralement tirer-en-bas). Cette rsistance permet de tirer le potentiel vers le bas (pull-down). En franais, on appelle aussi ceci un rappel au moins.

Si on presse le bouton, un courant lectrique clair est alors appliqu sur l'entre. Le courant va prendre le chemin le plus simple, soit par la rsistance de 220 Ω et finit par arriver sur D4, qui est reli la terre. Si on relche le bouton, la rsistance pull-down ramne l'entre la terre. Comme D4 est aussi reli la mme terre, il y a alors une diffrence de potentiel (une tension) de 0 Volt, et donc pas de signal parasite l'entre de D4.

Observons maintenant ce schma droite :
Si on le compare au schma d'un circuit avec une rsistance pull-down, on constate une inversion entre la terre et le +5 V.
En effet, lorsque le circuit est ouvert, une tension de +5 V est applique l'entre de la broche 4.
Lorsqu'on appuie sur le bouton-poussoir, le courant lectrique va passer par le chemin offrant le moins de rsistance, soit directement par la masse (Gnd), sans passer par l'entre de la broche 4.
Le fonctionnement est donc invers par rapport la rsistance pull-down.

Lorsqu'on appuie sur le bouton-poussoir, la LED doit s'allumer. Et naturellement, lorsqu'on relche le bouton-poussoir, la LED s'teint. Cette action n'est pas mcanique, mais logique. Ce n'est pas la fermeture d'un circuit lectrique qui allume la LED, mais l'information transmise l'Arduino, par le biais d'un INPUT qui lui ordonne d'allumer la LED.

Voil, maintenant notre microcontrleur sait qu'il y a quelque chose de connect sur sa broche 4 et qu'elle est configure en entre (INPUT). De mme, la broche 12 est configure en sortie (OUTPUT).
Maintenant que le bouton est paramtr, nous allons chercher savoir quel est son tat (appuy ou relch).
Si le microcontrleur dtecte un courant lectrique sa broche 4, alors il stockera une valeur de 1.
Dans le cas contraire (diffrence de potentiel de 0 V), il stockera une valeur de 0.

Le code prcdent est simple, mais manque un peu de finesse ; un peu comme un barbare avec une hache deux mains dans une rception de Monsieur l'Ambassadeur. Voici donc une autre solution, habille en smoking :

Un bargraphe est un afficheur qui indique une quantit, provenant d'une information quelconque (niveau d'eau, puissance sonore, etc.), sous une forme lumineuse. Le plus souvent, on utilise des LED alignes en guise d'affichage.

L'objectif de cet exercice est de raliser un bargraphe de 4 LED, avec deux boutons-poussoirs. L'un d'eux servira incrmenter la valeur sur le bargraphe ( savoir augmenter le nombre de LED allumes), alors que l'autre servira le dcrmenter.

Maintenant, nous devons grer l'allumage des LED. Pour simplifier le code, on va crer une fonction qui servira grer l'affichage. Nous allons appeler cette fonction affiche, avec un paramtre int valeur_recue. Ce paramtre reprsente le nombre afficher.

Si la fonction reoit le nombre 1, on allume la LED 1. Si elle reoit le nombre 2, elle allume la LED 1 et 2. Si elle reoit 3, elle allume la LED 1, 2 et 3. Enfin, si elle reoit 4, alors elle allume toutes les LED :

Vous l'avez sans doute constat : malgr des pull-down, les boutons-poussoirs sont peu prcis. En effet, parfois, deux LED s'allument ou s'teignent pour une seule pression sur le bouton. Cela est d au fait que le bouton-poussoir n'est mcaniquement pas parfait. Lorsqu'on appuie dessus, le signal n'est pas forcment propre. Pendant quelques millisecondes, le signal va passer de 0 V 5 V plusieurs fois avant de se stabiliser. L'Arduino peut interprter un de ces mouvements parasites pour un signal d'entre et va donc ragir en fonction. Par exemple, en appuyant une fois sur le bouton-poussoir, l'Arduino peut enregistrer deux impulsions en entre et allumera deux LED au lieu d'une seule.

Le condensateur est un composant lectronique passif, comme les rsistances. Il a pour facult d'emmagasiner une charge lectrique, avant de pouvoir la restituer en cas de baisse de la tension. On utilise ainsi les condensateurs comme rgulateur de tension, mais on utilise aussi sa capacit se charger pour absorber les brusques, mais courtes fluctuations de tension que sont les parasites. La capacit de charge se mesure en Farads (F).

Comme on peut le voir sur le circuit ci-dessus, deux condensateurs de faible capacit ont t ajouts en parallle aux boutons-poussoirs. Si la parade n'est pas absolue, cela permet de considrablement augmenter la prcision des boutons.

Dans le cas d'une anode commune, cette dernire est branche sur le +5 V. Les cathodes sont branches sur les broches.
Au niveau du code, cela implique que les LED sont allumes en position LOW et teintes en position HIGH. Avec un composant cathode commune, c'est le contraire.
Dans notre exemple, nous allons commencer par allumer toutes les diodes, puis l'une aprs l'autre, pour les identifier. On peut ensuite crire des chiffres.

Cette dernire leon va synthtiser tout ce que nous avons vu jusqu' maintenant. L'objectif est de raliser un montage, avec deux boutons-poussoirs et un affichage 7 segments. L'un des boutons va servir incrmenter les chiffres sur l'affichage, et l'autre les dcrmenter. Ainsi, en appuyant 6 fois sur le bouton-poussoir, les chiffres de 1 6 vont successivement s'afficher.

Sur le schma qui suit, l'affichage 7 segments est anode commune. Comme d'habitude, chaque bouton-poussoir est dot d'une rsistance pull-down de 1 kΩ ou 10 kΩ et d'une rsistance de protection de l'input de 100 Ω. L'ordre de branchement de l'afficheur importe peu, puisqu'on va utiliser le code 14 pour identifier l'ordre d'activation des broches.

Le code n'est pas optimis : on pourrait se passer de rpter les digitalWrite qui sont en position LOW plusieurs fois de suite. Nanmoins, cela permet de pouvoir comprendre et analyser le code bien plus simplement ; commencer par les lves.

Ce tutoriel est divis en deux sections : boutons poussoirs agissant en mode momentan (c.--d. les actionneurs cessent de bouger lorsque le bouton est relch) et boutons poussoirs agissant en mode de soutien (c.--d. les actionneurs continuent de bouger mme lorsque le bouton est relch).

We precision engineer and manufacture our products so you get direct manufacturers pricing. We offer same day shipping and knowledgeable customer support. Try using our Actuator Calculator to get help picking the right actuator for your application.

Jusqu' prsent, nous nous sommes principalement intresss aux sorties. Nous allons maintenant examiner l'autre extrmit du spectre et nous amuser avec des entres. Dans l'exprience 2, nous avons utilis une entre analogique pour lire le potentiomtre. Ici, nous allons lire l'une des entres les plus courantes et simples (un bouton-poussoir) l'aide d'une entre numrique. Ce bouton nous servira alterner les diffrentes couleurs sur la LED RVB.

Un bouton-poussoir momentan ferme le circuit uniquement lorsque l'on appuie dessus. Il possde quatre broches rparties en deux ensembles (chacun compos de deux broches). Quand vous appuyez sur le bouton et entendez un clic , le bouton tablit le contact avec les deux ensembles et permet au courant de traverser le circuit.

Comment savoir quelles broches sont relies ? Les boutons fournis dans ce kit ne peuvent rentrer dans la rainure de la plaque breadboard que dans une seule direction. Une fois le bouton bien insr dans la plaque breadboard (dans la rainure), les broches sont relies horizontalement. Les broches situes vers le haut de la plaque sont connectes, tout comme celles situes vers le bouton.

Nous allons relier un ct du bouton-poussoir la terre et l'autre ct une broche numrique. Lorsque nous appuyons sur le bouton-poussoir, la broche se connecte la terre ; la carte Arduino la lit donc comme tant LOW .

Mais que se passe-t-il quand vous n'appuyez pas sur le bouton ? Dans cet tat, la broche est dconnecte de tout, tat que nous appelons flottant . La broche est-elle lue comme un signal HIGH ou LOW ? C'est difficile dire, car il n'y a pas de connexion solide, ni au 3,3 V, ni la terre. La broche pourrait donc tre les deux.

93ddb68554
Reply all
Reply to author
Forward
0 new messages