Résistance Pull-Down / Pull-Up

Circuit avec une une résistance pull-down

Observons ce schéma:

Lorsque l'on presse le bouton poussoir, on envoie +5 Volts sur D4, qui sera interprété comme un 1.

Lorsqu'on relâche le bouton, il n'y a plus de courant qui arrive sur D4, ce qui sera interprété comme un 0. On a donc un signal binaire: allumé/éteint (on/off).

Ce montage contient une résistance de 10 kΩ (soit 10'000 Ω), qu'on appelle pull-down (littéralement tirer-enbas). Cette résistance permet de tirer le potentiel vers le bas (pull-down). En français, on appelle aussi ceci un rappel au moins.

En effet, contrairement au cas théorique, fermer ou ouvrir un circuit (via un interrupteur ou un bouton poussoir) ne génère pas forcément un signal clair:

  • Le circuit non connecté à la source peut agir comme une antenne dans un environnement pollué d'ondes électromagnétiques (proches des moteurs par exemple). Cela va générer dans le circuit un courant qui peut être interprété comme un signal.

  • Il peut rester dans un circuit récemment ouvert un niveau d'énergie. Cela provoque des cas d'indétermination. Le signal qui a été coupé peut être considéré comme encore actif par un microcontrôleur.

Le but d'une résistance de pull-down est donc d'évacuer les courants vagabonds et de donner un signal clair.

Si on presse le bouton, 5 Volts sont alors appliqués sur l'entrée. Le courant va prendre le chemin le plus simple, soit par la résistance de 220 Ω et finit par arriver sur D4. Si on relâche le bouton, la résistance pulldown ramène l'entrée à la masse (puisqu'elle est connectée à la masse).

Circuit avec une résistance pull-up

Observons maintenant ce schéma :

Si on le compare au schéma d'un circuit avec une résistance pull-down, on constate une inversion entre la terre et le +5V.

En effet, lorsque le circuit est ouvert, une tension de +5V est appliquée à l'entrée D4.

Lorsqu'on appuie sur le bouton poussoir, le courant électrique va passer par le chemin offrant le moins de résistance, soit directement par la masse (Gnd), sans passer par l'entrée D4.

Le fonctionnement est donc inversé par rapport à la résistance pull-down.

Résistance pull-down ou pull-up?

A notre niveau, la seule chose qui va changer entre une résistance pull-down et une résistance pull-up est la lecture de l'information:

Avec une résistance pull-down, par défaut, l'entrée sur la broche est égale à 0.

Avec une résistance pull-up, par défaut, l'entrée sur la broche est égale à 1.

Dans le code if (digitalRead(bouton) == 1 ) , sera respectivement la valeur d'entrée lorsque le circuit est fermé (pull-down) ou ouvert (pull-up).