Bouton poussoir

Voici comment il faut orienter les boutons :

Notez bien que pour trouver la patte 1 il faut orienter le bouton pour que les pattes sortent du haut et du bas. Les pattes 1 et 2 sont reliées entre-elles à l'intérieur du bouton. Pareil pour les pattes 3 et 4. Il n'y a donc pas de souci si le bouton est inversé (c.à.d tourné de 180°).

Montage platine, entrée tiré vers 5v :

Et le schéma :

Et maintenant quelques explications

Quand on définit une broche de l'Arduino comme entrée (avec la commande «pinMode (nn,INPUT);») l'électronique à l'intérieur du microcontrôleur tente de valider en permanence une entrée au niveau BAS ou HAUT.

Il est difficile d'avoir un signal en entrée qui est toujours à exactement 0v ou exactement 5v.

Le microcontrôleur travaille donc par paliers ou seuils. Une tension d'entrée sous le seuil est considérée comme étant le niveau « bas » ; supérieur au seuil c'est le niveau « haut ». En plus (et ceux d'entre vous qui ont déjà eu affaire à des amplificateurs audio savent ce qu'est le ronflement) une entrée laissée « flottante » est parasitée par toutes sortes de signaux ambiants.

Pour que nos programmes fonctionnent bien, il est primordial que les entrées soient TOUJOURS dans un état connu. On « tire » alors l'entrée vers 0v/GND ou +5v, avec une résistance d'une valeur dans les kilo-ohms pour que, au repos, l'entrée reste tranquillement soit bas, soit haut.

Partant du principe que l'entrée est branchée sur 0v (état bas). Pour changer d'état il faut d'abord débrancher l'entrée du fil 0v puis le brancher sur le fil 5v : sinon en branchant le +5v sur le 0v on provoque un court-circuit !

C'est LA qu'on trouve l'intérêt de la résistance.

Si on « tire » notre entrée vers un état haut ou bas avec une résistance d'une valeur relativement élevée, le problème de court-circuit ne se pose plus.

Un exemple : on tire l'entrée vers 0v avec une résistance de 10kohms (10,000 ohms).

Si maintenant on branche le 5v pour amener l'entrée à l'état haut, cela nous donne :

Prenons notre cours sur le loi d'ohm (vu précédemment) : I = U/R pour trouver le courant qui traverse la résistance :

I = 5v/10000ohms = 0,0005 = 0,5mA : pas grand chose.

Et, si vous regardez de près, l'entrée de l'Arduino se trouve bien branché sur 5v.

Et le composante bleue sur la platine ? Ben je ne veux pas trop en parler pour l'instant... C'est un condensateur et il est là pour "lisser" les fluctuations dues aux rebonds des contacts des interrupteurs. On parle des condensateurs plus tard dans le cours.

Dernière question, pourquoi « tirer » vers 5v en non le 0v comme dans l'exemple ici ?

En fait c'est plutôt une convention historique... Autrefois les broches d'entrée sur les composants électroniques « consommaient » moins de courant si elles étaient tirées vers 5v que si elles étaient tirées vers 0v... De nos jours, avec les microcontrôleurs modernes, la différence est négligeable. C'est aussi par compatibilité avec certaines fonctionnalités de l'Arduino.

Vous pouvez donc câbler vos boutons poussoirs comme ici :

Dans cette configuration, avec "digitalRead" vous auriez un état '0' au repos, et l'état '1' quand le bouton est appuyé.