Page 1 sur 1

Barriere IR

Message non luPosté: Mer 19 Juin 2013 21:41
de liparis
Bonjour à tous,
Je suis nouveau sur le forum et complêtement débutant avec arduino. Je cherche a faire une barrière IR et mesurer le temps pendant lequel elle est ouverture. L'objectif est de mesurer la vitesse d'un obturateur d'appareil photo. J'ai acheté le kit barrière IR snootlab mais je bloque sur l'emission d'IR. Le côté reception a, par contre, l'air de marcher puisque je détecte les signaux émis par la télécommande de ma télé.

Le montage de la led a l'air de marcher puisque lorsque je remplace la led ir par une led rouge elle s'allume, et lorsque je prends la led ir en photo, je la vois allumée.

Une version simplifiée de mon code est le suivant.
Code: Tout sélectionner
#include <IRremote.h>

int receiverPin = 12; // input from the ir receiver.
IRsend irsend;


void setup() {
  pinMode(receiverPin, INPUT);
  Serial.begin(9600);
  irsend.enableIROut(38);
  irsend.mark(0);
}

void loop() { 
    unsigned long duration = 0; // time shutter is open 
 //   duration = pulseIn(receiverPin, HIGH);
    int test = digitalRead(receiverPin);
    Serial.println(test);
  }


Avec ce code, lorsque je ne branche pas la led, la console affiche une série de 1. Si je branche la led, elle affiche quelques 0 indiquant que le récepteur a reçu un signal, puis des 1, alors que rien n'a changé dans le programme et que la led est toujours allumée. Je suppose que j'utilise mal la librarie IRremote, mais je ne comprends pas ce que je fais qui ne va pas.

Merci pour votre aide.

Re: Barriere IR

Message non luPosté: Mer 19 Juin 2013 21:58
de Bemolu
Je pense que ton problème vient de ce que le récepteur intègre un filtre (38kHz de mémoire). Aussi lorsque tu illumines le capteur ou au moment où tu le masques, il y a un signal capté. Par contre, l'illumination constante ne fait pas réagir le capteur.
Solution:
Il faut que tu illumines le capteur avec un signal créneau la diode IR (aux alentours de 38kHz, je crois que c'est assez tolérant).

Re: Barriere IR

Message non luPosté: Mer 19 Juin 2013 22:13
de liparis
De ce que j'ai compris, c'est le rôle de ces 2 lignes:

Code: Tout sélectionner
  irsend.enableIROut(38);
  irsend.mark(0);

non?

Re: Barriere IR

Message non luPosté: Lun 24 Juin 2013 21:27
de Bemolu
Pardon, je n'avais pas bien vu comment tu procédais - j'ai lu trop vite. Ce que tu as fait devrait te donner le résultat que tu attends, sauf que ... c'est bien un problème de filtre passe-haut, mais pas celui du signal IR. C'est plus bas dans le traitement intégré au composant:
Voir datasheet TSOP32138 page 5:
When a data signal is applied to the IR receiver in the
presence of a disturbance signal, the sensitivity of the
receiver is reduced to insure that no spurious pulses are
present at the output. Some examples of disturbance
signals which are suppressed are:

[...]
Continuous signals at any frequency
[...]