Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Problème détection entrée / sortie passage infrarouge



  1. #1
    Alexis688

    Problème détection entrée / sortie passage infrarouge


    ------

    Bonjour,
    Je suis en train de réaliser un projet qui consiste à compter le nombre de personnes dans une pièce grâce à une barrière infrarouge.
    Cette barrière est composée de deux diodes émettrices infrarouges (SFH4554) et de deux photodiodes (BPV10NF) sachant que chaque diode émettrice a sa photodiode de l'autre côté de l'entrée de la pièce.
    Utilisant une photodiode et non un récepteur qui ne reçoit comme données que des 0 ou 1, mon moniteur série m'indique que la valeur captée se situe entre 1 et 10 environ pour chacune des deux photodiodes. Mais voilà : dans mon code, quand il se lance et quand je passe à travers la barrière, le nombre de personnes ne fait que d'augmenter et jamais la sortie n'est détectée. Voici mon code, j'espère que quelqu'un pourra m'aider. (PS : j'avais déjà fait ce projet en maquette et le code avait fonctionné)

    Code:
    int ndp = 0;
    
    void setup()
    {
      pinMode(A0, INPUT); // 1 ère Photodiode
      pinMode(A1, INPUT); // 2ème Photodiode
      Serial.begin(9600);
    }
    
    void loop()
    {
    
      if ((analogRead(A1)) <= 1)
      {
        delay(150);
        if ((analogRead(A0)) <= 7)
        {
          ndp = ndp - 1;
          Serial.println (ndp);
          delay(1000);
        }
      }
     
     
     
     if ((analogRead(A0)) <= 7)
      {
        delay(150);
        if ((analogRead(A1)) <= 1)
        {
          ndp = ndp + 1;
          Serial.println (ndp);
          delay(500);
        }
      }
     
       
      
    }
    En espérant que j'ai donné toutes les informations nécessaires pour résoudre mon problème.

    -----

  2. #2
    nornand

    Re : Problème détection entrée / sortie passage infrarouge

    bjr avec ce code ca fonctionne

    Code:
    int ndp = 0;
    
    
    void setup()
    {
      pinMode(A0, INPUT); // 1 ère Photodiode
      pinMode(A1, INPUT); // 2ème Photodiode
      Serial.begin(9600);
    }
    
    
    void loop()
    {
    
    
      {
        delay(150);
        if ((analogRead(A0)) <= 7)
        {
          ndp = ndp - 1;
          Serial.println (ndp);
          delay(100);
        }
      }
     
      {
        delay(150);
        if ((analogRead(A1)) <= 1)
        {
          ndp = ndp + 1;
          Serial.println (ndp);
          delay(100);
        }
      }
      
    }

  3. #3
    Alexis688

    Re : Problème détection entrée / sortie passage infrarouge

    Bonsoir,
    Premièrement merci de votre réponse par contre le code ne fonctionnera pas.
    Je m'explique : chaque émetteur est séparé de 20 cm à l'entrée de ma porte tout comme les 2 diodes réceptrices, ainsi, il y a deux faisceaux infrarouges distincts. Quand on entre ou on sort de la pièce, on coupe automatiquement un faisceau puis l'autre dans chaque sens, ainsi, on peut interpréter le sens de passage. Malheureusement, avec le code que j'ai créé, le programme ne fait pas la différence entre une sortie et une entrée. Pour exemple : quand je coupe les deux faisceaux en même temps, "ndp" augmente toutes les secondes comme indiqué dans le programme. Voilà mon problème.

Discussions similaires

  1. Detection infrarouge
    Par cynekal dans le forum Électronique
    Réponses: 2
    Dernier message: 08/06/2013, 06h58
  2. Détection par infrarouge
    Par maxou9914 dans le forum Électronique
    Réponses: 8
    Dernier message: 17/05/2013, 21h01
  3. detection infrarouge
    Par aup dans le forum Physique
    Réponses: 2
    Dernier message: 19/11/2010, 07h14
  4. Problème Entrée/Sortie 16f88
    Par flowind dans le forum Électronique
    Réponses: 67
    Dernier message: 19/05/2010, 03h07
  5. détection d'individu par infrarouge
    Par chrisZ13 dans le forum Électronique
    Réponses: 3
    Dernier message: 15/05/2009, 16h45
Découvrez nos comparatifs produits sur l'informatique et les technologies.