I am trying to build an IR repeater for controlling a cable box inside a cabinet. I am able to read the pulses with the serial monitor using the code from the InfraredReceivers Link in Arduino Playground.
I assume the next step is capturing that pulse somehow and then sending it back out over an IR LED. Anyone had any luck with a project like this? Forgive me as this is my first arduino project.
Not tried it directly, but the IR LEDs are usually modulated at around 38 to 40kHz (I suspect a legacy of the old ultrasonic remotes).
The IR receivers do the demodulation for you, but your repeater has to regenerate it.
Basically for this project what youre going to want to do is find out a little about how your IR remote sends messages. You will at least need to know the length of each command (number of off's and modulated on's). Usually at the end of each command there is a relatively long on or off that signals the end. Have you gotten the Playground code to give you some values to analyze?
You don't need an arduino to do this. See this thread:-
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1238461233/6#6
Last night I was able to plot the values from my remote with gnuplot. I seem to be getting inconsistent results though. I also came across this blog which I think will help me.
http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/
The reason I wish to use an arduino is that eventually If i can get the repeater working, I would like to have certain buttons on the remote trigger other actions ( such as switching Inputs with a relay).
The IR sensor i am using is from an old XBOX dvd remote kit. I haven't tried any other sensors, but I am wondering if that could be giving me strange values?
I may need to buy an oscilloscope in order to read the values with greater resolution. I like the parallax usb one, I may have to pick one up before I can finish this project.
Thanks for your replies.
Ok. the IR Sensor is a TSOP1556 = 56khz carrier frequency. This is probably why i am getting strange data. I will find a different sensor to play with tonight.
After swapping out the IR sensor I am getting perfectly consistent results every time now. Now the hard part, figuring out how to store and repeat those signals.....
LIRC may have some ideas... http://www.lirc.org/
LIRC is open source, written in C and has a neat way of storing REMOTE IR configurations that might give you some ideas.
Basically, it samples the IR signal at a known rate, and determines what is a MARK (or pulse) and a SPACE and saves the results. They are now "repeatable".
You might even have more fun looking at this... GitHub - foxharp/avrlirc: AVR-based IR interface for lircd