problème digitalRead Ardruino
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

problème digitalRead Ardruino



  1. #1
    invitec5cd9065

    problème digitalRead Ardruino


    ------

    Bonsoir,

    Je veux allumer une led lorsque la borne 8 de l'arduino Uno reçoit du 5 volt et je veux l’éteindre lorsqu'elle ne reçoit rien.
    J'utilise le 5V de l'arduino que je relie manuellement à la borne 8 pour simuler un interrupteur, mais lorsque je retire le fils de la borne 8, il faut que j'attende environ 5 secondes pour que la led s’éteigne alors que je voudrais qu'elle s'éteigne instantanément.
    J'ai testé sur 5 arduino Uno différentes, avec ou sans résistance à la place du fils. Rien a faire, ma led reste toujours activer environ 5 secondes.
    Le problème est du coté se la borne INPUT (8) et non ma OUTPUT (13) car dans le moniteur série, je vois que je continu de recevoir la valeur 1 donc HIGH sur ma borne d'INPUT même lorsque j'ai débranché le fil.
    voici mon code :

    Code:
     void setup(){
      pinMode(8,INPUT);
      pinMode(13,OUTPUT);
    }
    
    void loop(){
      int val=digitalRead(8);
    
      if(val==HIGH){
        digitalWrite(13,HIGH);
      } 
      else {
        digitalWrite(13,LOW);
      }
    }
    Merci

    -----

  2. #2
    invite936c567e

    Re : problème digitalRead Ardruino

    Bonsoir

    Ce qui se passe est tout-à-fait normal.

    Quand tu connectes le +5V sur l'entrée 8, tu imposes un niveau logique haut, que tu peux lire avec la fonction digitalRead().

    En revanche, lorsque tu déconnectes le fil, le niveau logique sur l'entrée 8 devient indéterminé. La tension sur cette entrée est maintenue par la capacité parasite des diodes et transistors du circuit interne (jusqu'à 10 pF), puis varie lentement au gré du courant de fuite (jusqu'à ±10 µA).

    Dans ton cas, le µC continue à détecter un niveau haut sur l'entrée durant 5 secondes. Mais ce niveau pourrait tout aussi bien rester au niveau haut indéfiniment (courant de fuite prépondérant vers le +5V), ou au contraire passer au niveau bas beaucoup plus rapidement (courant de fuite prépondérant vers la masse GND).

    En fait le comportement est aléatoire, et peut varier d'un circuit à l'autre.

    Si tu veux avoir l'assurance que l'entrée 8 passe au niveau bas, il faut :
    - soit faire contact entre l'entrée et la masse GND avec ton fil,
    - soit brancher de façon permanente une résistance (de 10 kΩ par exemple) entre l'entrée et la masse GND.

  3. #3
    invitec5cd9065

    Re : problème digitalRead Ardruino

    Merci beaucoup. Je testerais le montage demain.
    Bonne soirée

  4. #4
    invite1cf4788c

    Re : problème digitalRead Ardruino

    Bonjour,
    Une autre solution consiste à insérer à la troisième ligne le code suivant:
    digitalWrite(8, HIGH) ; // activation du pullup de la broche en entrée

  5. A voir en vidéo sur Futura
  6. #5
    invite936c567e

    Re : problème digitalRead Ardruino

    Citation Envoyé par fomes Voir le message
    Une autre solution consiste à insérer à la troisième ligne le code suivant:
    digitalWrite(8, HIGH) ; // activation du pullup de la broche en entrée
    Dans le cas présent, on teste le contact entre l'entrée et le +5V.

    L'activation de la résistance de rappel (pullup) interne n'est valable que si l'on souhaite maintenir un niveau haut en l'absence de contact entre l'entrée et la masse.

    Pour en profiter, il faut modifier le contact électrique (masse à la place du +5V) et inverser la logique utilisée (contact présent=niveau bas, contact absent=niveau haut).

  7. #6
    invitec5cd9065

    Re : problème digitalRead Ardruino

    Merci, j'ai fini mon projet en reliant ma sortie 8 à la masse par une résistance, cela marche impeccablement. Cependant cela à nécessité un peu de bricolage au niveau du montage ce qui a rendu le tout pas très propre. Je vais donc m'intéresser à cette résistance de rappel comme vous me l'avez conseillé

  8. #7
    invitee05a3fcc

    Re : problème digitalRead Ardruino

    Si tu avais suivi les conseils de Bart ....
    Nom : BART Une entree en l air.JPG
Affichages : 241
Taille : 52,2 Ko
    Ton circuit serait propre !

Discussions similaires

  1. Réponses: 13
    Dernier message: 29/03/2013, 23h36
  2. Réponses: 2
    Dernier message: 04/12/2012, 15h08
  3. Etude de fonctions et problème (qui me pose problème ahah)
    Par invitecf3c44f7 dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 12/10/2011, 19h54
  4. Problème adware.agent.NGZ et problème d'ouverture de mes pages IE
    Par invite6c8f34b5 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 8
    Dernier message: 03/08/2011, 21h03
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...