Reading Slot Car IR on Different Frequencies

I've been trying to formulate a plan to create a better lap counter for a friend's slot car track. The current lap counter is rather limited in the software and is incompatible with some of his newer cars.

One thing that is consistent is that the cars all have an ir led on them that transmits the car id downward onto the track. This is used by the lane changers to allow you to switch lanes.

I'd like to use those same ir leds to detect when the car crosses the finish line, enters the pit lane, or exits the pit lane. So I'd need to be able to read four different ir leds somewhat simultaneously. Cars can run in the same lane with this track so a simple break the beam lap counter doesn't work here.

Here's my question! (finally, eh?)

From what I know the cars transmit their id on different ir frequencies. Car 1 is on 15.625kHz, Car 2 is on 7.8125kHz, Car 3 is on 5.208kHz, etc.

Is there an ir "detector" that can read varying frequencies? I'm not so sure a regular hi-fi remote ir detector will work here as they're usually only in the 38kHz range. Or am I mistaken? Obviously I'm better at software than I am at hardware! I'm thinking we'll just need to know if that particular frequency just pasted over so we can register it as a lap or a pitstop enter or exit.

And my target Arduino would be the Uno version for taking this data and getting it back to our pc.

I truly appreciate any pointers/assistance you can provide.... thanks!! :slight_smile:

You might try decoding the frequency in software.

Capture the signal with a photodiode using a timer.
With either an external interrupt, pin change interrupt, Input Capture or T1/T0...
What you will get is the time value for the wavelength.

Once you get a couple of samples, average and use a case/switch to identify.
Or you might try this design note, sw FSK decoding:
http://www.avrfreaks.net/modules/FreaksFiles/files/406/DN_027.pdf

Thanks for the tips! 8)

I think I'll try a QSE113 ir phototransistor and poll the heck out of it to determine a "frequency". I thought an interrupt would be good but I'd need 4 interrupts and my UNO only has two. It's only going to look at 4 points so I'm thinking the "poll the heck out of them" should still be doable.

Thanks again!