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

problème digitalRead Ardruino



  1. #1
    nicocco033

    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
    PA5CAL

    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.
    Dernière modification par PA5CAL ; 17/05/2013 à 23h44.

  3. #3
    nicocco033

    Re : problème digitalRead Ardruino

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

  4. #4
    fomes

    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
    PA5CAL

    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
    nicocco033

    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
    DAUDET78

    Re : problème digitalRead Ardruino

    Si tu avais suivi les conseils de Bart ....
    Nom : BART Une entree en l air.JPG
Affichages : 224
Taille : 52,2 Ko
    Ton circuit serait propre !
    J'aime pas le Grec

Discussions similaires

  1. Réponses: 13
    Dernier message: 29/03/2013, 22h36
  2. Réponses: 2
    Dernier message: 04/12/2012, 14h08
  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, 18h54
  4. Problème adware.agent.NGZ et problème d'ouverture de mes pages IE
    Par Stitch69 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 8
    Dernier message: 03/08/2011, 20h03
Découvrez nos comparatifs produits sur l'informatique et les technologies.