Do Universal Remote Controls bug you? Do you wish your home entertainment center could automatically turn on the Monday night football as soon as you walked in the door after work? Well with the LinkIt One, it is all too possible. Using some handy Infrared sensors, we can capture the signals from all those remotes and map out the Infrared signals for all of our remote controls! This will give us extraordinary power for creating universal home applications!
Step 1: Requirements
- LinkIt ONE Board
- Bread Board
- IR Receiver Diode
- Jumper wires
- A remote control to your media center
Please download this if you haven't already.
- LinkIt ONE IDE
- LinkIt ONE IR Library
Step 2: Build the Circuit
In order to connect the IR receiver and LED to your LinkIt ONE, you'll need to build a circuit. Luckily, this circuit is pretty basic and shouldn't be too difficult. There's a bit of electricity madness going on here, so I won't dive too much into the nitty gritty.
Step 3: A Bit of Insight
So what exactly is going on here when we 'Catch' an IR signal? What exactly is infrared anyway? Infrared is a common (and dirty cheap) way for electronics to communicate with one another. IR Light is very similar to regular light, the kind you and I see every day, except for the fact that it has a longer wavelength. This means that you and I can't see it with our naked eye, but our electronics can. This is what makes it the perfect application for wireless communication.
Basically what happens is that the LED on your remote device flashes super quickly, like faster than a fraction of a second, with a special code. Our receiver then catches those wavelengths and processes them. So basically, this project will allow you to capture those quick fraction-of-a-second blinks so you can harness the power of IR!
Step 4: Catch an IR Signal
So in order to mimic all of your various remotes that you have, you'll have to first figure out exactly what code it is emitting. This is why we hooked up our IR Receiver. Make sure that your circuit is set up exactly the same way as the diagram is on the previous step. This is important because the LinkIT ONE IR Library only works on D2. Attempting to catch the signal on any other pin will not work, so make sure to take caution there!
Also, take note that you may have to delete the RobotIRRemote library if your error console is printing out that you are using both. Simply go to your arduino folder, find the libraries folder, and then delete the RobotIRRemote folder.
Deploy the code attached and open the serial monitor. Point your remote at the IR Receiver and click which buttons you wish to map (figure out the code). Hopefully, you'll see something similar to this in your serial monitor:
*********GET DATA FROM IR REMOTE***************************
len = 9 start_h = 8810 start_l = 4420 short = 587 long = 1761 data_len = 4 32 223 16 239 *************************************************************
Take close attention to the following line of code
32 223 16 239
That is what we are after: The code. This code will enable us to control the IR device we are working with. Make sure to write down that code. Might even be smart to write it down in Hexadecimal format. You can find a converter for that online.
Step 5: Going Forward
Unfortunately, our project is capped there in regards to our LinkIT ONE. You still have built a pretty nifty tool that can catch IR Codes, which in itself is pretty valuable. You can now easily map your remotes with your LinkIT ONE and then turn that over right away and emit them from an arduino device (follow this great Sparkfun tutorial to learn more).
LinkIT ONE currently doesn't support an IR library capable of emitting. Should that change in the future, you can guarantee that I will make another Instructable showing you how do do that. Until then, go map out all your remotes so you're prepared for the universal