IR transmitter and reciever with reflector up to 2m

Hi, I try to make sport timekeeping for “agility” on the principle of the IR transmitter and receiver on one side and reflectors on the other. I have try more variations, but without success.

1st option
#include <IRremote.h>

IRsend irsend;

void setup ()
{

}

void loop () {
int = 38 kHz; // 38kHz carrier frequency for the NEC protocol
unsigned int irSignal = {9000, 4500, 560, 560, 560, 560, 560, 1690, 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 1690, 560, 1690 , 560, 560, 560, 1690, 560, 1690, 560, 1690, 560, 1690, 560, 1690, 560, 560, 560, 560, 560, 560, 560, 1690, 560, 560, 560, 560, 560 , 560, 560, 560, 560, 1690, 560, 1690, 560, 1690, 560, 560, 560, 1690, 560, 1690, 560, 1690, 560, 1690, 560, 39416, 9000, 2210, 560}; // AnalysIR Batch Export (irRemote) - RAW

irsend.sendRaw (irSignal, sizeof (irSignal) / sizeof (irSignal [0]) kHz); // Note the approach used to automatically calculate the size of the array.
}
It works at a distance of 4 meters via a reflector, but did not catch the faster movement. So it is not unusable

option 2

#include <IRremote.h>

IRsend irsend;
irsend.enableIROut (38); // 38KHz
irsend.mark (0)

captures every movement, but the distance is within 1 meter.

Do you have any ideas how to solve it.

Used equipment
Arduino Nano
IR LEDs HSDL-4230
IR reciever PNA 4602

i found this post, but there are transmitter and reciever on opposite.

here is industrial solution, but its very expensive.
https://www.amazon.co.uk/Velleman-Photoelectric-Sensor-Retro-Reflection/dp/B001IRVDOG

You don't want to send some (interrupted) TV code, but a continuous 38kHz signal. The code in void setup() of this sketch will just do that. An Arduino pin can directly drive an IR LED with 100ohm current limiting resistor. If distance is a problem, you can increase LED drive current with an external drive transistor.

The code in void loop() is for a receiver. Transmitter and receiver can run on the same Arduino. Leo..

const byte IR_LED = 11; // IR transmitter LED with 100ohm (minimum) CL resistor
const byte IR_Receiver = 8; // from receiver output
const byte onboard_LED = 13; // onboard indicator LED
boolean receiverState;

void setup() {
  pinMode (onboard_LED, OUTPUT);
  pinMode (IR_LED, OUTPUT);
  pinMode (IR_Receiver, INPUT);
  // from Nick Gammon
  TCCR2A = _BV (COM2A0) | _BV(WGM21);
  TCCR2B = _BV (CS20);
  OCR2A =  209; // ~209 = ~38kHz | ~219 = ~36kHz
}

void loop() {
  receiverState = digitalRead (IR_Receiver);
  if (receiverState == HIGH) { // beam interrupted
    digitalWrite(onboard_LED, LOW); // green onboard LED off
    delay(1000);
  }
  else { // beam detected
    digitalWrite(onboard_LED, HIGH); // green LED on
  }
}

You may also find that a reflected type signal (where the transmitter and receiver are side by side with the reflector on the other side of the path) may or may not work very well under some conditions. I have a number of friends that run agility with their white dogs (samoyeds) - I suspect they reflect IR as well as normal light so they look like a "reflector" when they go through the beam. Something to consider.