Experimentacion

Usando un sensor VS1838b conectado la pata 1 de este a D2 del arduino, la pata 2 a masa o GND y la pata 3 a 5v cargamos el sketch de https://learn.adafruit.com/ir-sensor/using-an-ir-sensor que recepciona en forma cruda los datos recibidos en el receptor de IR.
Abrimos la ventana de monitor de la ide de arduino, encendemos el faro apuntandolo al sensor y voila.... comenzamos a recibir datos.
 
Received: 
 
OFF ON
42288 usec, 660 usec
1160 usec, 640 usec
1140 usec, 640 usec
5820 usec, 640 usec
1160 usec, 640 usec
1140 usec, 640 usec
5820 usec, 620 usec
1160 usec, 640 usec
1160 usec, 640 usec
5800 usec, 640 usec
1160 usec, 620 usec
1160 usec, 640 usec
5800 usec, 640 usec
1160 usec, 640 usec
1160 usec, 640 usec
5800 usec, 640 usec
1160 usec, 620 usec
1180 usec, 620 usec
5800 usec, 640 usec
1160 usec, 640 usec
1160 usec, 640 usec
5800 usec, 620 usec
1180 usec, 620 usec
1180 usec, 620 usec
5800 usec, 640 usec
1160 usec, 640 usec
1160 usec, 640 usec
5800 usec, 640 usec
1160 usec, 640 usec
 
vemos un patron repetitivo muy sencillo, expresado en microsegundos donde ON significa encendido (pulsos de a 38khz) y OFF apagado.
 
640 en ON, 1160 en OFF, 640 en ON, 1160 en OFF, 640 en ON y una pausa de 5800 en OFF el cual podemos considerarlo como separador.
 
tambien he realizado las mediciones con la usando el ejemplo IRrecvDump de la libreria https://github.com/shirriff/Arduino-IRremote obteniendo un patron
similar pero con casi identicos valores. 
 
Para verificar los resultados, emitiremos este patron y lo expondremos al My4 para ver si responde. Para esto modificamos el sketch de la pagina https://learn.adafruit.com/ir-sensor/making-an-intervalometer para emitir el patron en estudio. La conexion del led infrarrojo para la emision es la indicada en la misma pagina (a D13 y la masa con una resistencia). El siguiente es el sketch modificado
 
int IRledPin =  13;    // LED connected to digital pin 13
 
void setup()   {                
  pinMode(IRledPin, OUTPUT);       
}
 
void loop()                     
{
  pulseIR(624);
  delayMicroseconds(1200);
  pulseIR(624);
  delayMicroseconds(1200);
  pulseIR(624);
  delayMicroseconds(6000);
}
 
void pulseIR(long microsecs) {
  // we'll count down from the number of microseconds we are told to wait
  cli();  // this turns off any background interrupts
  while (microsecs > 0) {
    // 38 kHz is about 13 microseconds high and 13 microseconds low
   digitalWrite(IRledPin, HIGH);  // this takes about 3 microseconds to happen
   delayMicroseconds(10);         // hang out for 10 microseconds, you can also change this to 9 if its not working
   digitalWrite(IRledPin, LOW);   // this also takes about 3 microseconds
   delayMicroseconds(10);         // hang out for 10 microseconds, you can also change this to 9 if its not working
   // so 26 microseconds altogether
   microsecs -= 26;
  } 
  sei();  // this turns them back on
}
 
Podemos observar que el My4 responde al pseudo faro normalmente con lo que verificamos que el patron es correcto. El faro utilizado en estas pruebas es el correspondiente a marcacion de vuelta (el blanco), lamentablemente no dispongo de un faro de parciales (rojo) para obtener el patron utilizado. Si alguien lo tiene y quiere realizar las pruebas agradecere si me envia un e-mail con el patron correspondiente.

 

AGREGADO 11/12/2015 ----

Gracias a Gustavo que nos acerco los datos de la barrera parcializadora. No he corroborado los datos pero asumo que son correctos dado los antecedentes de el.

ON 6mS
OFF 1.14mS
ON 1.33mS
OFF 1.14mS
ON 1.33mS
OFF 1.14mS
Y SE REPITE