Introduction: Radio Frequency Cloning
This is the third chapter of a big series of domotics experiments. In this case we will be using an Arduino and RF receiver to clone the signal emitted by a remote control. In my case, I had a series of lights that I turn on and off using this remote control. The idea is to clone the signals to be able to send them through a RF emitter and activate the sending from every where. For example a computer. So lets get started.
Step 1: Past Work
As I stated in the intro, the objective of all this experiments, is to obtain control aver every possible device. So check my works, if you like, to get a glimpse of what is going on.
Coning infrared signals.
Emitting the cloned signals.
Step 2: Stuff
For this work we will be needing an Arduino uno or Arduino nano (Should be working with every Arduino, I have been testing this with Uno thought... mostly).
And of course a RF receiver and emitter modules. They usually come together and you can buy it a very low price.
Bare in mind that it comes in two 'flavors' 315MHz and 433MHz. My control works in 433 range so I bought that one. Make sure to know what frequency you will need. You can know this by opening the remote control and checking the emitter. The frequency should be printed in the metal circle shape component (check the picture of the emitter).
Step 3: Connections
As you can see is very easy to connect. check the diagram an you wont miss a thing. Ground to ground, vcc to 3.3 volts (this is important wont work with 5 volts). And the data pin to analog 0 in the Arduino (A0). Now, if you haven't notice yet you have two pins for data. Not sure why is that but it should be the same. If it doesn't work with one just test with the other.
Step 4: The Sketch
Well, this is not the best sketch ever, that's for sure, had little time to make it better, but it worked for me. And am sure that it will work for you too. Wont be using any library since no off them worked for the remote that I had. You will be getting a signal like this.
As you can see is not that different with the infrared signal. each pair of numbers represents times of low and times of high value. We wont be needing the 0 and 255. That means that the signal ended.
Two or three things to bare in mind:
- The baud rate is set to 115200 so you will have to set the serial monitor as well. Wont get any readable output otherwise.
- The code, as I said, is not the best, so maybe it wont work at once.
- You will have to play around with the thresholds (upperThreshold, lowerThreshold the 80 and so).
- Even maybe with the delays.
- To test the functionality you will have one chance when you open the Serial Monitor. Since the code is written in the setup (sorry about that).
- The receiver is very sensible, not sure if you can modify that. so occasionally it will be capturing signals form else where. So open the Serial Monitor and press the button.
- It is likely that you wont get a good signal at once. Do not get frustrated, give several tries. Often the best signal is the largest so copy them and compare it.
Sorry 7!!! lol
Since this is only to clone the signal I don't think it worth taking more time to perfect it. But if you come with a better code please let me know. It worked for me I could clone each button. Store the signal and test it with the emitter. No worries I will be posting the emitter instructable very soon so you will be able to test the signals.