Comprendre les résistances de pull-up et pull-down : Différence entre versions

 
(11 révisions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
 
|Main_Picture=Comprendre_les_r_sistances_de_pull-up_et_pull-down_pullupg.jpg
 
|Main_Picture=Comprendre_les_r_sistances_de_pull-up_et_pull-down_pullupg.jpg
 
|Licences=Attribution (CC-BY)
 
|Licences=Attribution (CC-BY)
|Description=Les résistances de pull-up et pull-down (on dit résitance de tirance en français) sont utilisées pour fixer clairement un état électrique. En effet, nous sommes entourés d'ondes électromagnétiques (radio, télé, courant électrique) qui créent de l'électricité dans les broches des composants électroniques.
+
|Description=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).
 
|Disciplines scientifiques=Arduino, Computing, Electricity
 
|Disciplines scientifiques=Arduino, Computing, Electricity
 
|Difficulty=Easy
 
|Difficulty=Easy
Ligne 9 : Ligne 9 :
 
|Tags=pullup, pulldown, pull-up, pull-down, résistance, smog, brouillard électromagnétique
 
|Tags=pullup, pulldown, pull-up, pull-down, résistance, smog, brouillard électromagnétique
 
}}
 
}}
{{Introduction}}
+
{{Introduction
 +
|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.
 +
}}
 
{{Materials
 
{{Materials
 
|ItemList={{ItemList
 
|ItemList={{ItemList
Ligne 16 : Ligne 20 :
 
|Item=Arduino Uno
 
|Item=Arduino Uno
 
}}{{ItemList
 
}}{{ItemList
|Item=Cable Dupont
+
|Item=Résistance
 
}}{{ItemList
 
}}{{ItemList
|Item=Résistance
+
|Item=Câble Dupont
 +
}}
 +
|Tuto_Attachments={{Tuto Attachments
 +
|Attachment=Comprendre_les_r_sistances_de_pull-up_et_pull-down_resistancePULLUPwikideb.ino
 +
}}{{Tuto Attachments
 +
|Attachment=Comprendre_les_r_sistances_de_pull-up_et_pull-down_resistancePULLUP-2wikideb.ino
 
}}
 
}}
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Faisons des essais sans résistance de pull-up
+
|Step_Title=Faisons des essais sans résistance de pullup
 
|Step_Content=On réalise le montage comme sur le schéma ou la photo.
 
|Step_Content=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 charge le premier programme sur l'Arduino.
Ligne 31 : Ligne 44 :
  
  
Il ressort que moniteur série monteur un résulta t qui n'est pas satisfaisant.
+
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.
 
|Step_Picture_00=Comprendre_les_r_sistances_de_pull-up_et_pull-down_poussoir.jpg
 
|Step_Picture_00=Comprendre_les_r_sistances_de_pull-up_et_pull-down_poussoir.jpg
 
|Step_Picture_01=Comprendre_les_r_sistances_de_pull-up_et_pull-down_resistancePULLUP_bb.jpg
 
|Step_Picture_01=Comprendre_les_r_sistances_de_pull-up_et_pull-down_resistancePULLUP_bb.jpg
|Step_Picture_02=Comprendre_les_r_sistances_de_pull-up_et_pull-down_Capture_d_e_cran_2020-12-12_a_16.19.31.png
+
|Step_Picture_02=Comprendre_les_r_sistances_de_pull-up_et_pull-down_Capture_d_e_cran_2020-12-12_a_16.45.17.png
|Step_Picture_03=Comprendre_les_r_sistances_de_pull-up_et_pull-down_Capture_d_e_cran_2020-12-12_a_16.45.17.png
+
|Step_Picture_02_annotation={"version":"3.5.0","objects":[{"type":"image","version":"3.5.0","originX":"left","originY":"top","left":0,"top":0.08,"width":2086,"height":1776,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.29,"scaleY":0.29,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://www.wikidebrouillard.org/images/b/bc/Comprendre_les_r_sistances_de_pull-up_et_pull-down_Capture_d_e_cran_2020-12-12_a_16.45.17.png","filters":[]},{"type":"wfarrow2line","version":"3.5.0","originX":"center","originY":"center","left":515,"top":99,"width":56,"height":84,"fill":"rgba(255,0,0,0)","stroke":"#FF0000","strokeWidth":4,"strokeDashArray":null,"strokeLineCap":"round","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"x1":-28,"x2":28,"y1":42,"y2":-42,"x2a":23.562398430198165,"y2a":-20.921392543441293,"x2b":10.249593720792667,"y2b":-29.796595683044963},{"type":"wfarrow2circle","version":"3.5.0","originX":"center","originY":"center","left":487,"top":141,"width":16,"height":16,"fill":"#aaa","stroke":"#666","strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":0.5,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"radius":8,"startAngle":0,"endAngle":6.283185307179586},{"type":"wfarrow2circle","version":"3.5.0","originX":"center","originY":"center","left":543,"top":57,"width":16,"height":16,"fill":"#aaa","stroke":"#666","strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":0.5,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"radius":8,"startAngle":0,"endAngle":6.283185307179586}],"height":511,"width":600}
|Step_Picture_03_annotation={"version":"3.5.0","objects":[{"type":"image","version":"3.5.0","originX":"left","originY":"top","left":0,"top":0.08,"width":2086,"height":1776,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.29,"scaleY":0.29,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://www.wikidebrouillard.org/images/b/bc/Comprendre_les_r_sistances_de_pull-up_et_pull-down_Capture_d_e_cran_2020-12-12_a_16.45.17.png","filters":[]},{"type":"wfarrow2line","version":"3.5.0","originX":"center","originY":"center","left":515,"top":99,"width":56,"height":84,"fill":"rgba(255,0,0,0)","stroke":"#FF0000","strokeWidth":4,"strokeDashArray":null,"strokeLineCap":"round","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"x1":-28,"x2":28,"y1":42,"y2":-42,"x2a":23.562398430198165,"y2a":-20.921392543441293,"x2b":10.249593720792667,"y2b":-29.796595683044963},{"type":"wfarrow2circle","version":"3.5.0","originX":"center","originY":"center","left":487,"top":141,"width":16,"height":16,"fill":"#aaa","stroke":"#666","strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":0.5,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"radius":8,"startAngle":0,"endAngle":6.283185307179586},{"type":"wfarrow2circle","version":"3.5.0","originX":"center","originY":"center","left":543,"top":57,"width":16,"height":16,"fill":"#aaa","stroke":"#666","strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":0.5,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"radius":8,"startAngle":0,"endAngle":6.283185307179586}],"height":511,"width":600}
+
|Step_Picture_03=Comprendre_les_r_sistances_de_pull-up_et_pull-down_Capture_d_e_cran_2020-12-12_a_16.19.31.png
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Faisons des essais avec résistance de pull-up
+
|Step_Title=Faisons des essais avec résistance de pullup
 
|Step_Content=On réalise le montage comme sur le schéma ou la photo.
 
|Step_Content=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 charge le premier programme sur l'Arduino
Ligne 48 : Ligne 70 :
  
  
Le résultat est mieux !
+
Le résultat est mieux ! Les états sont clairs !
 
|Step_Picture_00=Comprendre_les_r_sistances_de_pull-up_et_pull-down_pullup.jpg
 
|Step_Picture_00=Comprendre_les_r_sistances_de_pull-up_et_pull-down_pullup.jpg
 
|Step_Picture_01=Comprendre_les_r_sistances_de_pull-up_et_pull-down_resistancePULLUP1_bb.jpg
 
|Step_Picture_01=Comprendre_les_r_sistances_de_pull-up_et_pull-down_resistancePULLUP1_bb.jpg
Ligne 54 : Ligne 76 :
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Il parait qu'il y a des résistance de pull-up interne ?
+
|Step_Title=Il parait qu'il y a des résistances de pullup interne ?
|Step_Content=Oui l'Arduino possède une résistance de pull-up interne à chaque broche numérique (c'est le cas d'autres carte comme le [[Item:D1 mini|D1 mini]]).
+
|Step_Content=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 [[Item:D1 mini|D1 mini]] mais pas sur toutes les broches).
  
  
Elle s'active dans le "setup" avec la fonction INPUT_PULLUP :
+
Elle s'active dans le "setup" avec la fonction INPUT_PULLUP  
 
<br /><syntaxhighlight lang="arduino">
 
<br /><syntaxhighlight lang="arduino">
 
void setup() {
 
void setup() {
Ligne 64 : Ligne 88 :
 
}
 
}
 
</syntaxhighlight><br />
 
</syntaxhighlight><br />
 +
|Step_Picture_00=Comprendre_les_r_sistances_de_pull-up_et_pull-down_resistancePULLUP-Interne_bb.jpg
 +
}}
 +
{{Notes
 +
|Explanations=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=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 !
 
}}
 
}}
{{Notes}}
 
 
{{Tuto Status
 
{{Tuto Status
|Complete=Draft
+
|Complete=Published
 
}}
 
}}

Version actuelle datée du 7 avril 2021 à 19:31

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