[ résolu ] utilisation de la resistance interne pullup

bonjour à tous,

voici une bonne question de noob !
mais je n'arrive pas à visualiser le truc.
J'ai tout bien compris comment utiliser la resistance internet pullup.
(je préfère pour simplifier mon circuit l'utiliser que d'utiliser une pulldown externe)

je vais avoir à un moment :
pinMode(5, INPUT); // exemple
digitalWrite(5, HIGH); // hop je met le pullup

mais voila mon interrupteur se bascule (relier entre ground et 5) et met la valeur en LOW

1- que se passe t il quand on revient à la commande
digitalWrite(5, HIGH); et que l'interrupteur est fermé

2- que se passe t il si on ouvre l'interrupteur mais que le programme n'est pas sur
digitalWrite(5, HIGH);
est ce que ça se met en HIGH quand même ?

en fait un exemple d'utilisation de la pullup avec un interrupteur serait top !

a+

pinMode met la broche en entrée
digitalWrite va active le pull-up
Ces commandes doivent faire partie du setup() afin d'être effectuées une fois et une seule
On n'y revient pas dessus.

Ensuite, dans le loop, c'est à toi de lire avec digitalRead
Si l'interrupteur n'est pas pressé au moment où tu effectue le digitalRead(), le contact n'est pas fait et c'est le pull-up interne qui tire le signal vers le haut et ton digitalRead() retournera un HIGH
Si l'interrupteur est pressé au moment où tu effectue le digitalRead(), le contact est pas fait avec le GND, ce qui tire le signal vers le bas et ton digitalRead() retournera un LOW

ok !!!!!!!!!!

c'est tout bete mais je ne voyais pas, je me disais que si l'interrupteur est activié ca enlevait le pullup !

ok nickel, merci bcp !

Bonsoir ,
je crois même que maintenant on peut utiliser pinMode(5,INPUT_PULLUP) il me semble que ça vas rendre le résultat de digitalRead() à LOW pour interupteur ouvert et HIGH interupteur fermé.
A vérifier j'ai pas testé.
source : pinMode() - Arduino Reference

Avec l'IDE 1.0.1, oui la fonction pinMode() a été étendue. On gagne une ligne de code ! (qui est passée ailleurs bien sur)

Mais ca marche dans le sens opposé à ce que tu dis.
L'interrupteur étant entre la pin et GND, la résistance (internet) entre la pin et VCC.
Quand on presse le bouton, ca fait le contact et on lit un LOW
Quand on relâche le bouton, plus de contact et c'est la résistance qui tire vers le HIGH.