My aim is to clone a few button presses on my RF remote for my cinema screen, so that the Arduino can send the signals instead.
I cracked open the remote and its 315mhz, I was hoping there is some way to use the receiver from the kit above to 'record' the signals when I press remote buttons, then store them in code so that I can replay them using the transmitter to control the screen.
I found a blog post here Reza's Blog: Controlling Smart Outlet with Arduino which uses some tools to sniff the signal.
Since I don't have this kit (a scope or anything), I'm wondering if I can use the Arduino directly ?
Any guidance would be appreciated - it's my first time using the Arduino, and I'm eager to get started, but not sure the best way to tackle things
There are a number of similar inquiries in the archives. Bottom line, there is insufficient bandwidth in the Arduino to directly sample the RF freq. involved. You could, perhaps, heterodyne the RF and analyze the difference but there may be an easier way...
Commercial "clone" duplicating remotes for RF are available... Works like HomeLink in some automobiles (for garage doors).
My suggestion would be to secure a learning remote or Chinese clone, program it, then configure the Arduino to activate the buttons. This hybrid approach avoids much of the unknowns.
Thats actually the route I'm trying to replace, i currently have just hacked the remote open and simulate button presses by completing the circuit for the switches.
I was hoping to get something a little slicker though.
Maybe i'll have to investigate getting hold of a logic analyser..
Not a logic analyzer issue... You are working up in the 300+ MHz range, so you need very fast test equipment or you need to use an RF mixer, take the difference, and analyze to digital encoding. Once down to DC, it is just a bunch of 1's and 0's
If the transmitter in the remote uses ASK (amplitude keying) you will be able to receive the data on your 315 Mhz receiver.
Unfortunately, thats the easy part.
Figuring out what it means is the hard part.
Without a CRO or logic analyser it will be very hard to go any further, unless you can somehow find out the data format the remote uses.
If you're interested in going seriously over the top, maybe investigate using a DVB SDR (software-defined radio). You'd be able to sample the spectrum around 315 MHz using one of those for a lot cheaper than a scope.
315MHz is the carrier. The Rx will "remove" this and on its output, leave you with the pulse train that you need. The Arduino should be more than fast enough to read this. Look for arduino scope or (duaneB's blog).
Thanks for the responses, however i'm now slightly confused.
Holmes4 seems to suggest its easily doable and suggests similar to the approach i thought i'd need.
But some of the other responses suggest its a lot harder than that.. i think more reading is required before i tackle this :--
My aim is to clone a few button presses on my RF remote for my cinema screen, so that the Arduino can send the signals instead.
I cracked open the remote and its 315mhz, I was hoping there is some way to use the receiver from the kit above to 'record' the signals when I press remote buttons,
I think the confusion is around how you intend on analyzing the pulse train...
If directly from the transmitter, that would be problematic because of the high-frequency RF.
If from the companion receiver, then the receiver is doing the RF demod leaving you with the DC pulse train. You can decode this in much the same way that the software figures out new IR coding ( a few Google links reference decoding of unknown IR so that these can be added to existing IR libraries.)
There will also be a place in the transmitter where you can capture the bare data as it emerges from the microprocessor and before it goes to the transmitter - this is arguably the best place of all to sample the data because there, you see the data and ONLY the data, whereas if you look at the data stream emerging from a receiver (especially an FM /FSK receiver) you will see all sorts of other noise as well as the signal you actually want.
If you don't have a storage oscilloscope I have seen reports of people managing to use 'Audigy' (which is sound recording software) to record and examine digital data streams of the type we are talking about here.
There does seem to have been considerable confusion injected into the discussion here.
The OP knows what the RF frequency involved here is - it is one of the "standard" ones and he already has a transmitter/ receiver pair corresponding to it. The task is reduced to using the Arduino with these components to firstly analyse the same bit stream that the RC receiver sees, then reproduce it in exactly the same way that the "learning remote" does. The fact that these "learning remotes" are in use indicates that it cannot be that difficult.
Clearly, this task is entirely suited to an Arduino and has in fact been done many times over in relation to the TVbegone and similar projects. The code should be around somewhere. I am in precisely the same situation having the transmitter/ receiver pair on hand and were it not for the diversion of trolling through these fora, would be somewhat more advanced already. XD
Its important to not confuse learning remotes that work with IR , with those that work with RF.
Its dead easy to learn what the output of an IR transmitter is simply because the only transmission you will see
coming from the IR receiver is your own.
With RF, there will be stuff coming from the receiver all the time, even when you arnt transmitting,so the receiving code
needs to be able to sort out the garbage from the wanted data.
Carlcox89:
What's the best way to quickly find what frequency a remote is using ? (315 vs 433 vs 868 )
It is indeed quite relevant.
Quite frankly, the easiest way for you is to use a receiver for each of the frequencies in question, in combination with the receive-and-display (decode) sketch.
If you have it of course, a communications receiver tunable to these various frequencies will tell you immediately and easily. A frequency counter is not so helpful, as the on-off keying of the signals means it cannot obtain a sample of the actual frequency for sufficient time to count it reliably.
mauried:
Its important to not confuse learning remotes that work with IR , with those that work with RF.
Its dead easy to learn what the output of an IR transmitter is simply because the only transmission you will see
coming from the IR receiver is your own.
With RF, there will be stuff coming from the receiver all the time, even when you arnt transmitting,so the receiving code
needs to be able to sort out the garbage from the wanted data.
Also, IR is ~38Khz, RF is at least 368Mhz, which is a 10000 times faster carrier wave.
Carlcox89:
sorry to thread hijack but it's related...
What's the best way to quickly find what frequency a remote is using ? (315 vs 433 vs 868 )
The easist way is to open your transmitter to reveal inner circuit board, then locate the SAW resonator component ( shiny round or square one ), read the marking on it, it should read 315 / 310 / 433 / 418 or something like that.
Yes, old post, but RF receivers are still a mistery to many.
You just need a receiver. Same carrier frequency. e.g. 315Mhz or 433Mhz.
Easiest to install the RCSwitch library, and use the examples.
If the remote can be read by that library, you will see the code on the serial monitor.
You can then use the numbers, and a transmitter, to resend the same code.
There might be other libraries if that one did not work.
Leo..
Thanks for the library info! I already took my light switch remotes apart and saw that they are 315, so next I'll verify the chipset. I didn't want to lose the remotes themselves, otherwise I would just hack the buttons.
oh one more question. when shopping for receivers I see them as listed with 4 channel, 6 etc. When hooking up to an arduino do multichannels matter? I was under the impression that the software could listen for whatever was programmed in.