Comprendre les résistances de pull-up et pull-down

Auteur avatarAntony Le Goïc-Auffret | Dernière modification 7/04/2021 par Antonydbzh

Comprendre les r sistances de pull-up et pull-down pullupg.jpg
Les résistances de pullup et pulldown (on dit résitance de tirage en français) sont utilisées pour fixer clairement un état électrique. (on écrit aussi pull-up et pull-down).
Licence : Attribution (CC-BY)

Introduction

Une résistance de pullup "tire" le niveau électrique vers le haut, elle est donc reliée à la tension de votre montage (au +5V ou +3V3 suivant la carte électronique que vous utilisez).

Une résistance de pulldown "tire" le niveau électrique vers le bas, elle est donc reliée à la masse (GND) de votre carte.
  • Fichiers

Étape 1 - Faisons des essais sans résistance de pullup

On réalise le montage comme sur le schéma ou la photo.

  • La broche 11 est connectée au bouton.
  • L'autre coté du bouton est connecté au +5V
  • Lorsqu'on appuie sur le bouton, la broche reçoit 5V (elle est en état "HAUT").

On charge le premier programme sur l'Arduino.


On ouvre le moniteur série.


Il ressort dans le moniteur série un résultat qui n'est pas satisfaisant :

  • L'état est fluctuant.
  • Parfois après un appuis, l'état reste haut longtemps après qu'on ait relâché le bouton.
  • Le comportement est imprévisible.


Étape 2 - Faisons des essais avec résistance de pullup

On réalise le montage comme sur le schéma ou la photo.

  • La broche 11 est connectée au bouton et au +5V par l'intermédiare d'une résistance dite de pullup.
  • L'autre coté du bouton est connecté au GND
  • Lorsqu'on appuie sur le bouton, la broche passe de +5V à GND.


On charge le premier programme sur l'Arduino


On ouvre le moniteur série.


Le résultat est mieux ! Les états sont clairs !


Étape 3 - Il parait qu'il y a des résistances de pullup interne ?

Oui !

L'Arduino possède une résistance de pullup interne pour chaque broche numérique (c'est le cas pour d'autres carte comme le D1 mini mais pas sur toutes les broches).


Elle s'active dans le "setup" avec la fonction INPUT_PULLUP


void setup() {
pinMode(brocheBouton, INPUT_PULLUP);
}




Comment ça marche ?


Explications

Nous sommes entourés d'ondes électromagnétiques. Les ondes de la transmission de la radio, de la télé, etc. le courant électrique aussi émet des ondes électromagnétiques.

Ces ondes créent de l'électricité dans les broches des composants électroniques.

C'est pour cela qu'une broche connectée à rien, n'est pas forcément à l'état 0.


Une résistance de pullup fixe l'état à HIGH (état haut).

Une résistance de pulldown fixe l'état à LOW (état BAS).

Applications : dans la vie de tous les jours

Pour des raisons matérielles que je n'ai pas vraiment comprises, les électroniciens utilisent les résistances de pullup plutôt que des résistances de pulldown. Si quelqu'un a une explication, les commentaires sont ouverts !


Dernière modification 7/04/2021 par user:Antonydbzh.

Commentaires

Published