Resistance Pull Up

Bonjour,

Deux petite questions sur la fonction INPUT_PULLUP.

J'arrive pas à la faire marcher, j'ai fais un montage avec une résistance Pull Up qui marche nickel.
Mais quand j'essaye avec la fonction INPUT_PULLUP ça ne marche plus, auriez vous une idée du pourquoi ?

2/ vous utilisez encore un montage avec une résistance ou vous utilisez systématiquement le mode INPUT_PULLUP ?

Merci pour vos infos.

Mon montage, le switch est connecté d'un coté au GND et de l'autre a la pin 8.

const int switchPin=8;
int switchValue=0;

void setup(){
  Serial.begin(9600);
  pinMode(switchPin, INPUT_PULLUP);
}

void loop(){
  switchValue=digitalRead(switchPin);

  if (switchValue==1){
    Serial.println("YES");
    Serial.println("");
  } 
}

Salut,

Merci pour ta réponse, mais j'y arrive toujours pas.

Tu me confirmes bien, pour le câblage, le switch est connecté d'un coté au GND et de l'autre a la pin 8 Arduino et c'est tout.

Merci

Bonjour,

  • Tu es sur que ton switch est bien connecté?
    Si c'est un bouton carré à 4 pins il faut connecter les deux fils en diagonal pour être sur.

  • Tu es sur que ton moniteur série est a la bonne vitesse?

  • mets directement un Serial.println(digitalRead(switchPin)); pour afficher l'état de l'entrée (mets un delay() si ça affiche trop vite)

Ça me rend Fou ! :slight_smile:

Le serial.print du digitalRead m’affiche 0, et aucun changement quand j’appuie sur le switch.

J’arrive pas a comprendre ce qui ne va pas !

J’ai mis en fichier joint le photo du montage…

Si j’utilise les même câbles, switch, carte, pin avec un montage classique ( avec la résistance et juste INPUT ) ça marche nickel.

Ca devrait fonctionner.
Essaies sur une autre pin (mais je n'y crois pas trop).

hello
et si tu ne relies pas le BP à GND. ( vire le fil )
que te donne le digitalRead(8); sur le moniteur ?

les pinoches du BP sont reliées physiquement deux par deux.
si tu est connecté sur un couple de pinoches, tu as GND en direct et en permanence sur l'entrée 8, sauf si tu débranches GND ( comme denandé deux lignes au dessus).

Salut,

Si j’enlève le GND, ça ne change rien, le moniteur série me dit toujours 0.

J'ai changé les cables, le switch, rien ne marche.

Bonsoir , c'est normale que sa marche pas tu cumules des pull up c'elle dans l'arduino font 50Khom et si tu fait juste pinmode(i,INPUT) sa donne quoi ? Et peut tu donner le valeur de tes résistance pull up stp ? merci

Ne connecte rien sur ta carte.

Lance ton programme, si tu lis toujours 0 c'est que ta carte est ensorcelée :confused:

@Kamill
Si je connecte rien, j obtient toujours 0.

Je comprend rien.

C'est une carte Uno officielle, qui marche tres bien pour tout les projets que j'ai fait.

@Anthony1012
Je ne connecte pas de résistance, je suis en directe entre la carte Uno et le switch, il y a une photo du montage plus haut.

const int switchPin=8;
int switchValue=0;

void setup(){
  Serial.begin(9600);
  pinMode(switchPin, INPUT_PULLUP);
}

void loop(){
  switchValue=digitalRead(switchPin);

  Serial.println(digitalRead(switchPin));

  if (switchValue==1){
    Serial.println("YES");
    Serial.println("");
  }
}

j'avais pas vue l'image désole , branche ton file blanc du GND sur 5v en dessous du 3.3v tu vera sa ira mieux :smiley:

Merci pour ta réponse.

Mais dans tous les tutos sur Input Pull-Up, il est bien précisé connexion au GND.

Oui d'accord mais comme ça toi sa marche pas alors essaye autrement moi j'ai fait comme ça pour essayer ça marche nickel

Ok

Alors en branchant le switch entre la pin Arduino et le 5v.
J obtient 0 si j appuie pas et 1 si j appuie.