I have been trying to decode the signals output by a RF remote I have here and I have managed to capture the codes but I cannot figure out how to decode them (or replicate them).
Here is the data I have captured.
Butt 1
0000000010101001011011100010111100
00 A9 6E 2F
Thanks for the reply, how would i go about replaying the code through a tx? Would I just make a loop and set the pin high/low? Or is there a way to output hex?
This is just one remote but I have multiple recorders that have a code button that allows me to pair a remote to the receiver. I want to be able to do away with the remotes and pair multiple receivers with the arduino without having to capture the codes every time.
I may have to get another remote and see what it's codes are.
If I can figure out how to output the codes I can try some other ones
I have just grabbed the codes coming out of two different remotes, they are ordered in the same order so the first code in the first set is the same remote button as the first code on the second remote.
I am trying to create my own codes in the arduino.
The remotes are for those 4 port remote powerboards you can buy and I am looking to control them with my arduino.
Each powerboard has a button it that allows you to pair a remote with it, all you do is push the pair button on the powerboard and then press a button o the remote and they are paired.
What I want to do is to be able to generate the codes myself from within the arduino and then pair the arduino with the powerboard (or multiples).
I know that I can just capture the codes of a remote and then use the arduino to repeat them (still haven't got this working yet) but I would like to be able to skip the code capture all together and just use the arduino and output the codes and pair with the powerboard.
This would mean that I could buy a new powerboard from the shops, and then pair it directly with the arduino by outputting a unique code, without having to pair the powerboard with the remote and then capture and decode the remote signals.
Do you have any idea how I can try to test if the captures codes work? I have a 433.92mhz transmitter connected to 5v, gnd and pin 4 of the arduino but I cannot workout how to put the code back out.
A "4 port remote powerboard" is a powerboard (I think they may be called powerstrips in the US) that has 4 power outlets that can be individually switched (The one I have is http://www.jaycar.com.au/productView.asp?ID=MS6150).
I know that the frequency is 433.92 mhz and I have already got the receiver and transmitter for this frequency.
I have already seen the waveform generated by the current remote and can measure the timings but I am unsure of how to feed them back into the transmitter.
As far as I know the transmitter should take care of the modulation and I should just be able to feed the codes back into it.
I am not trying to make anyone read my mind and I thought I had explained my situation, hopefully I have cleared anything up now.
My original plan was to just press the buttons with the arduino but then I decided against it as it would be quite messy if I had multiple remotes for different boards all wired up as opposed to having a nice neat setup with a RF transmitter.
Yeah that's what I am trying to do, but I cannot figure out how to do it...
I had a loop that went over the binary string of 0's and 1's and it it was a 1 it pushed the pin high and if it was a 0 it pulled it low.
I put a delay after each change to try and match the original pattern but the outgoing pattern wasn't anything like the original. It kind of just came out as a mish mash and the scope didn't pick up any distinct changes.
I am pretty sure the transmitter is the same modulation, I may try cutting the trace from the transmitter in the remote and wiring that up to the arduino to try that. But I still feel that the data I am outputting from the arduino is incorrect.
I have just taken another shot of the remote buttons and attached it, I didn't have my code together (have been changing it around alot to try and get it to work) so I couldn't take a shot of it on the scope.
Here is what I was doing in pseudo code:
str = '010010110101010101011110110';
foreach char in str
if char == 1
set pin 2 high
delay 5
set pin 2 low
else
set pin 2 high
delay 2
set pin 2 low
endif
delay 2
endfor
Also note that the RF receivers often expect the entire bitstream to be sent several times (like 8 or 10 times) with a specific length of 'gap' between each burst of RF. Many receivers use this 'gap' length to decide whether the particular RF stream is of interest.
I've implemented this sort of thing on an AVR device using Bascom as the programming language. See wiki at livebox:hah [DBZoo] for more info and links to sourcecode.