In its simple form anyone could receive your command signal using an SDR and then duplicate it. You could make it more secure in the software by using an encryption system that changes the code in a pseudo random fashion each time it's used but there is no way you could stop someone jamming the signal.
Maybe you could use some Keyloq chips. Alas the encoder only allows 4 switches (15 key combinations) but you could use up to 7 encoders (only 2 needed for your requirements though) and pair them to a single decoder that connects to the MCU using serial to decode the key combinations
kikitron:
You mean like HT12D and HT12E chips and without arduino?
I was thinking the RF600 with the Arduino's. The RF600E only has 4 inputs so you can only get 15 key combinations out of it but if you use 2 of them that will easily cover the 19 key combinations you need. The Arduino would simulate the pressing of various key combinations.
The RF600D can learn up to 7 separate encoder chips and has a SD1 output that includes a serial stream of the sending RF600E key sequence. An Arduino could read this and do stuff depending on the RF600E and it's key combinations sent.
I have HT12E/D on stock so before I use RF600E/D Im trying with simple circuit if my modules are working but I have problems with receiver or transmitter and I cant manage to work. I tryed with two arduinos to and the same resault
Im from Slovenia so I Will try to order from Farnell.
@Riva thanke you for your help I ordered RF600D/E and I made circuit diagram and I think that Will wok. I Will use only one Arduino to program outputs. Will this work?
If you look at this data sheets last page it shows connection diagrams between the RTFQ1 & RF600E and the RRFQ1 and RF600D.
For connection to the Mega you don't really need the TX low battery line from the RF600D as this status is also encoded into the serial data. The SD1 output from the RF600D should go to one of the serial port RX pins on the Mega as it's standard 9600.8N1 serial. See page 5 of this for breakdown of serial data format.
@Riva thanke you for looking in to my circuit. I copyed from datasheet and yes you are right SD should go to RX and I dont need battery line from RF600D. The rest of the circuit I hope is ok
I would connect to RX1 on the Mega or at least another serial port (Maga has 4 in total) other than Serial0 as that is the same port used by USB and you will probably need that to do debugging while writing the code..
Wow, so complicated.
Acquire a 4x5 button keypad, use the Keypad.h library to read the key, VirtualWire library (Radiohead now I guess) to send it out. Go to sleep between presses to save battery life.
Can get one for a $1 here, scroll down to the bottom
Thanke you @CrossRoads for this but I need 16 push buttons on transmitter and 16 relays on receiver. Now I just need to connect to my RF600D 16 relays from arduino and write a program somehow but so far without success I dont get any data from serial monitor (ACSII characters at 9600 - 8 data bits with 1 stop bit, no parity).
If you have the receiver wired up as per your last drawing then load the 'MultiSerialMega.ino' sketch from the Examples/04.Communication folder and it should forward on any serial data received on Serial1(the RF600D) to Serial (Serial monitor).
There should be no need to pair the transmitter to test this as the datasheet says any RF600E transmitter reception (paired or not) is pumped out over serial.
So then I should see on Serial monitor if I press different buttons on transmitter, serial numbers like for example 2345678A, 2345678B...2345678H, 2345678a... ?
And then I have to write that serial numbers in program like: serial number 2345678A should activate output 22... ?