Light barrier (TSAL6100 / TSSP4038)

I'm trying to replicate one of the many light barriers with multiple beams you can buy.

There are different devices with 2, 3, 4 ore more beams.



My first test is just one beam. I'm using a 30x 21mm (0.8") lenses from a cheap magnifier in front of the TSAL6100:

I have it mounted in some pipe and i can slide the pipe in the board.
I used my phones camera to adjust the focus.

The TSSP4038 has also a pipe:

I use a BC337 with a 47 ohm resistor for the IR LED. So the LED should have ~70mA.

I use the IRremote library on sender and receiver.
Sender:

#include <IRremote.h>

IRsend irsend;
void setup()
{
  irsend.enableIROut(38);
  irsend.mark(0);
}

void loop() {
}

Receiver (just turning off a LED):

#include <IRremote.h>

#define PIN_DETECT 10
#define PIN_STATUS 14

void setup()
{
  pinMode(PIN_DETECT, INPUT);
  pinMode(PIN_STATUS, OUTPUT);
}

void loop() {
  digitalWrite(PIN_STATUS, !digitalRead(PIN_DETECT));
}

I tested now ~8 meters (26 ft) but if i put my food between the beam it takes only a half inch up or down to change the LED state. Is that normal?

Putting receiver and sender close and putting a lid from a film can in between does not break the beam.
Even putting the the lid in front of the receiver pipe does not work?

From the manual of the light barriers it seems like the beams are 50mm (2").
Light Barrier Manual

Seems to me really big and if you need two break to beams and take the beam spread into account...
If you mount that close to a wall (windows) will the reflections from a second or third not prevent the whole thing to work?

They also have a response time setting (see manual). Does that simply mean only if the beams a broken for X.X m/s the relay is triggered?

570_0.pdf (702 KB)