Reading IR from a laser tag toys

Hi

I am new to the forums and new to Arduino. I played with the PIC about 10 years ago. I have been a programmer for about 25 years with very little electronic knowledge.

I am trying to reverse engineer the IR signals from laser tag toys, but it isn’t going so well. I don’t have an oscilloscope and I think that is probably the biggest problem I am having. I have been following the tutorial at http://learn.adafruit.com/ir-sensor/overview. The app can read IR and I created another one to transmit the IR, but it seems the toy doesn’t care much for the IR I am sending out. I have tested that the IR LED works using a video camera that can see IR and I also tested it with a normal LED. I have tried to find the correct codes using brute force by sending the codes modified a little bit over and over and I have been trying to change the resolution in the reading app to get different codes. Nothing is working. I am not sure what the next step is except for buying an oscilloscope. I just don’t really want to spend the $300+ and not be sure the codes will work.

These are two examples of IR I am getting back when the gun shoots the sensor. They are a little different everytime, but I assume the gun manufacturer actually programmed their guns already to accept 20%+ error handling

int IRsignal = {
// ON, OFF (in 10’s of microseconds)
930, 210,
390, 420,
720, 420,
390, 180,
660, 450,
390, 180,
690, 450,
360, 210,
360, 180,
690, 420,
390, 4200,
930, 210,
390, 420,
720, 150,
360, 210,
360, 210,
360, 450,
690, 450,
690, 180,
360, 450,
690, 180,
360, 0};

int IRsignal = {
// ON, OFF (in 10’s of microseconds)
930, 180,
390, 450,
660, 480,
360, 180,
660, 480,
360, 210,
630, 510,
330, 240,
300, 240,
600, 540,
330, 4230,
930, 210,
360, 480,
600, 240,
330, 240,
330, 240,
330, 510,
600, 510,
630, 210,
360, 510,
600, 240,
330, 0};

This is for other people that are new to Arduino and/or electronics

I bought a Rigol DS1052E. It was so easy to use and I was able to reverse engineer the IR signal. I have never seen an oscilloscope in real life, so that shows you how easy it is to use. In 4 hours I was able to do what I couldn't do in probably more than 20 hours during a weekend.

I would say, spend the money

tutorial at http://learn.adafruit.com/ir-sensor/overview.

The problem with this is that you only get a proper output if the toy is outputting a 38-Khz signal. You have to determine the toy's output frequency first.

Yep noticed that. The toy I think actually outputs at 104 kHz so I would probably never have found it doing brute force. The code that I produced from reading the output at 38 kHz was not even close to the final code. Still need to clean it up for reuse. I will then be able to build my own items into the "network", e.g. bombs and so on

Only concern is, can I be sued for duplicating an IR signal into other devices? I will not sell the devices, but I will use the devices when hiring out laser tag toys so I will make money from the use of the devices

You won't be able to use any of the regular TV remote IR detector chips for 104 Khz, none of them go even close, and their bandwidth is too narrow. You'll probably need to gin up something on your own, starting with an IR photodiode or phototransistor. You can start with a google image search on "phototransistor amplifier".

http://www.google.com/imghp

You will want to use a ckt that has a bandpass filter for 104-Khz built-in.

Cool thank you

I was actually able to "crack" the code with an oscilloscope. I recorded the message and used that as a reference wave form. I then created a wave form with the Arduino and an IR LED and changed it until it looked exactly the same as the recorded one.