Résistances Pull-Up / Pull-Down
Éviter les entrées flottantes et comprendre le comportement des boutons poussoirs sur une entrée Arduino.
Idée essentielle
Une entrée numérique ne doit pas rester « en l’air ». Une résistance de Pull-Up ou de Pull-Down impose un état logique stable lorsque le bouton est ouvert.
Sans résistance : entrée flottante
Quand le bouton est relâché et qu’aucune résistance n’est utilisée, l’entrée peut ne plus être reliée ni au +5 V ni au GND. Sa tension n’est alors plus imposée : on dit qu’elle est flottante.
Pull-Up et Pull-Down
Montage Pull-Up
La résistance relie l’entrée au +5 V. Le bouton relie l’entrée au GND quand on appuie.
- BP relâché → HIGH
- BP appuyé → LOW
Montage Pull-Down
La résistance relie l’entrée au GND. Le bouton relie l’entrée au +5 V quand on appuie.
- BP relâché → LOW
- BP appuyé → HIGH
Pourquoi la valeur de la résistance compte ?
Quand le bouton est appuyé, un courant circule dans la résistance. Il se calcule avec la loi d’Ohm :
Exemple avec une alimentation de 5 V :
| Résistance | Courant quand le BP est appuyé | Lecture pédagogique |
|---|---|---|
| 1 kΩ | 5 mA | Rappel fort, mais consommation plus élevée |
| 10 kΩ | 0,5 mA | Bon compromis |
| 100 kΩ | 0,05 mA | Très faible courant, mais entrée plus sensible aux perturbations |
Pourquoi D2 vaut environ 0 V en Pull-Up quand le BP est fermé ?
D2 est directement reliée au GND par le bouton fermé. La loi des mailles permet de le vérifier :
Comme un bouton fermé idéal a une chute de tension presque nulle, UBP ≈ 0 V. Donc UR ≈ 5 V, et D2 se trouve au potentiel du GND : D2 ≈ 0 V.
Pull-Up interne d’Arduino
Sur un Arduino Uno à base d’ATmega328P, on peut activer une résistance de Pull-Up interne directement dans le programme :
Dans ce cas :
- bouton relâché → HIGH ;
- bouton appuyé → LOW.