[HELP] Capteur IR ne fonctionne pas

Bonjour,
J'utilise un capteur IR de ce modèle :

http://dx.com/p/tsop1838-ir-infrared-37-9khz-receiver-18m-range-2-7-5-5v-135045

Je l'ai câblé sur le +5V de l'Arduino et le GND pour l'alimenter, et je récupère le signal sur l'entrée 2

Voilà le bout de code de test :

void setup()
{
  Serial.begin(9600);
  pinMode(2,INPUT);
}

void loop()
{
  int val;
  val=digitalRead(2);
  if (val==HIGH)
  {
    Serial.print("H");
  }
  else
  {
    Serial.print("L");
  }
  delay(500);
}

Or, sur le moniteur série, je ne récupère que du HIGH. J'ai tenté de l'éclairer avec une télécommande de TV, j'ai un LOW de temps en temps, de manière aléatoire, on dirait... Pourtant la led de contrôle sur le capteur s'allume bien lorsque je lui envoie une giclée d'IR...

J'ai fait une ânerie, mais laquelle ??? Je sèche...

Merci d'avance !

fking:
Bonjour,
J'utilise un capteur IR de ce modèle :

http://dx.com/p/tsop1838-ir-infrared-37-9khz-receiver-18m-range-2-7-5-5v-135045

Je l'ai câblé sur le +5V de l'Arduino et le GND pour l'alimenter, et je récupère le signal sur l'entrée 2

Voilà le bout de code de test :

Or, sur le moniteur série, je ne récupère que du HIGH. J'ai tenté de l'éclairer avec une télécommande de TV, j'ai un LOW de temps en temps, de manière aléatoire, on dirait... Pourtant la led de contrôle sur le capteur s'allume bien lorsque je lui envoie une giclée d'IR...

J'ai fait une ânerie, mais laquelle ??? Je sèche...

Merci d'avance !

ton code est trop lent
du serial en 9600 et un delay de 500 en fin de boucle
les telco envoient des salves lors de l'appui sur une touche, pas un bit unique.
essaye ce code de chez la lady

Bonjour Artouste,

:astonished:

Nom de Zeus !!! J'aurais pensé à tout sauf à ça !!! Je vais tester le code lady...

Par contre, ça inclut une donnée que je n'avais pas prévue pour mon projet... En fait, j'ai juste besoin de deux barrières IR pour faire un genre de radar : la coupure de la première barrière déclenche le comptage, la seconde le stoppe. A ceci près que je dois mesurer des vitesses entre 250 et 350m/s, et que mes deux barrières seront séparées de 15-20 cm... Donc ça risque de faire trop rapide pour l'Arduino ???

Encore merci pour ton aide !!!

Pour une telle vitesse (supersonique à 350m/s!) ça va surtout dépendre de la taille du mobile.
Un mobile de 1cm à 350m/s va mettre environ 2.8 uS pour passer devant un capteur. Si tu utilises une source infrarouge à 38KHz (ça semble être ce qui est préconisé pour ton capteur), c'est limite (période de 2.6 uS).

Entre les 2 capteurs ça fait environ 430 uS, soit si j'ai bien compté environ 6880 cycles d'horloge pour l'Arduino.
En comptant entre 1 et 3 cycles par instruction il devrait y avoir moyen de faire quelque chose (mais je ne connais pas les détails des temps d'exécution des instructions de l'AVR).

En fait le capteur n'est pas adapté au besoin.
Ce type de capteur est utilisé pour recevoir les messages d'une télécommande pas pour faire des barrières infrarouge.
Si tu as besoin d'une barrière infrarouge tu ferais mieux d'utiliser des LED infrarouge et des phototransistors.

fking:
Par contre, ça inclut une donnée que je n'avais pas prévue pour mon projet... En fait, j'ai juste besoin de deux barrières IR pour faire un genre de radar : la coupure de la première barrière déclenche le comptage, la seconde le stoppe. A ceci près que je dois mesurer des vitesses entre 250 et 350m/s, et que mes deux barrières seront séparées de 15-20 cm... Donc ça risque de faire trop rapide pour l'Arduino ???

Encore merci pour ton aide !!!

bonjour
probleme completement different :grin:
comme expliqué par patg et fdufnews
le capteur envisagé sera inefficace pour cette application compte tenu de la velocité à "mesurer".

il te faut un/des "simples" capteurs TOR de franchissement (start/stop)
je ne suis meme pas sur qu'un arduino basique seul soit là le plus adequat dans la phase mesure de temps
(sauf peut être à voir du coté des compteurs hard ? )

Rogntudju !!!!

Ça ne va pas aller, alors... Le mobile à détecter fait environ 5mm de long pour 4.5mm de diamètre, et aura une vitesse moyenne de 300m/s

Je vais tenter avec des leds IR et des phototransistors.

Par contre, avec le code de lady, ça marche beaucoup mieux !!!

Artouste, c'est quoi "des compteurs hard" ? Désolé, je suis newbie dans le domaine. Et là ça dépasse mes maigres compétences...

Merci beaucoup à vous tous !

fking:
Rogntudju !!!!

Ça ne va pas aller, alors... Le mobile à détecter fait environ 5mm de long pour 4.5mm de diamètre, et aura une vitesse moyenne de 300m/s

Je vais tenter avec des leds IR et des phototransistors.

Par contre, avec le code de lady, ça marche beaucoup mieux !!!

Artouste, c'est quoi "des compteurs hard" ? Désolé, je suis newbie dans le domaine. Et là ça dépasse mes maigres compétences...

Merci beaucoup à vous tous !

ha ok fking
je n'avais pas tilté 8) que l'on avait déjà discuté :grin:
bon pour faire court tu veux verifier la velocité d'une balle d'une munition que tu aura rechargée ?
un compteur hard c'est un compteur qui est incrementé tous les x (facteur de l'horloge) sans autres actions qu'un start et un stop.
ce n'eest ni plus ni moins que le principe des frenquencemetres lambda : tu compte sur un temps de porte (ouverture/fermeture) les transitions.
dans ton cas c'est le temps de porte qui porte l'info
il y a surement du grain à moudre à partir de là (ou autres liens eqivalents)
http://interface.khm.de/index.php/lab/experiments/arduino-frequency-counter-library/

Pour mesure la vélocité d'une balle, puisqu'il semble s'agir de ça, il va aussi te falloir un faisceau très fin et bien dans la trajectoire de la balle, donc probablement une optique un peu plus évoluée qu'une simple led devant un phototransistor.

Oui, il s'agit effectivement de mesurer la vitesse d'un projectile, un plomb d'arme à air comprimé en l’occurrence. Pour une balle, ça me semble très difficile (flamme, fumée, pression, ...)

Au départ, j'étais parti sur l'idée d'utiliser un Arduino à la place d'un PC :

fking:
Oui, il s'agit effectivement de mesurer la vitesse d'un projectile, un plomb d'arme à air comprimé en l’occurrence. Pour une balle, ça me semble très difficile (flamme, fumée, pression, ...)

Au départ, j'étais parti sur l'idée d'utiliser un Arduino à la place d'un PC :

petit calibre - [TUTO] Faire un cinémometre pour petit calibre

bonjour
il y a eu une discussion approchant ici

Je vais potasser tout ça...

Merci à tous pour votre aide !!!

fking:
Je vais potasser tout ça...

Merci à tous pour votre aide !!!

oui , il faut integrer un peu de tout ça, mais AMHA il y a un peu de grain à moudre :grin: