Detecting pulsed 38Khz IR

Hi all,

I've got a problem I'm stumped with. I have an IR LED being pulsed 10 times a second at 38Khz by an ATMega168. The detector circuit uses a 38Khz sensor to detect the pulses, and it is picking them up correctly, flashing a normal LED for each pulse. However I need to differentiate between this steady pulse and stray 38Khz IR, such as an IR remote, and have no idea where to start!

Any ideas?

So you have two IR signals at 38kHz ? And you need to 'see' only one ? That's not possible. The only way to use a tube or so, so that the receiver only can 'see' one. But it will still pick up reflections of the other.

You could try watching for the rising edge of each pulse and measuring the time between rising edges. If the time between rising edges is between 0.09 and 0.11 seconds, increment a counter. If the time between rising edges is outside that range, clear your counter. Once your counter reaches 3, or 5, or whatever, you can be reasonably sure you've locked onto a 38kHz carrier being modulated at about 10Hz.


This is exactly what I am doing in my Lap Timer project, only difference is I am using 555 timers to generate the 38Khz and 100hz. I use the TV Remote as a test, the code ignores the remote but triggers correctly on receiving my pulse. The main reason I wanted it this way is to ignore stray pulses from reflections in a daylight environment.

I will put up a sample when I get home later today - its basically the way kurt_t has suggested using interrupts to detect the pulse edges.

Duane B