433,92MHz - 19 channel remote cotrol

Hi to all,

I would like to make 19-channel remote control (transmitter) with on/off buttons and receiver with digital outputs to relays.

Some outputs I would like to program if I press button on remote control then output on receiver stays ON and If I press it again then it go off.

I would like to use cheap RF module 433,92MHz -> XY-MK-5V and XY-FST FS1000A.

Now I have question:

  • Is it possible to use 2 Arduino Mega 2560, one for remote control (transmitter) and one for receiver?
  • Is it safe to use this combination arduino with chip transmitter and receiver?

With safe I mean that no one cant disturb of hack my frequency.

I would like to use this project to run some hydraulic valves remotely on truck and max range Will be 10-20meters.

Yes it is possible, no it is not secure ( safe is the wrong word ).

Thanke you for the answer and yes secure is correct word :wink:

Is some 433,92MHz or 868MHz RF module more secure ?

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.

Russell.

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

You mean like HT12D and HT12E chips and without arduino?

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.

@Riva thanke you for your explanation. Is it possible to use HT12D and E because I cant get RF600D and E?

kikitron:
Is it possible to use HT12D and E because I cant get RF600D and E?

You could use the HT12E/HT12D combination but you would need 2x transmitters and 2x receivers to get 19 distinct states and...

With safe I mean that no one cant disturb of hack my frequency.

it does not do encryption like the Keyloq chips so your signal could be cloned.

Where are you based that you cannot get Keyloq chips?

eBay Encoder
eBay Decoder
http://www.aliexpress.com/item/RF600E-IC-ENCODER-TRANSMITTER-RF-8DIP/1146898977.html
http://www.aliexpress.com/item/RF600D-IC-DECODER-RECEIVER-RF-18DIP/1892646905.html

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 :confused:

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?

Receiver

Transmitter

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 :wink:

Receiver correction

Tomorrow I Will get parts from farnell and I Will try to build the circuit and read serial data from arduino serial monitor.

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..

Ok I repaired the circuit: Receiver correction 02

Before I start to write a program can I read serial data from arduino serial monitor with this example:

int incomingByte = 1; // for incoming serial data on RX1

void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}

void loop() {

// send data only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();

// say what you got:
Serial.print("I received: ");
Serial.println(incomingByte, HEX);
}
}

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


http://crossroadsfencing.com/BobuinoRev17/

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 :confused: 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... ?

Perfect I can read serial datas from Serial monitor :slight_smile:
On transmitter I connected 2 pieces of RF600E and 8 switches.

Reading from serial monitor are:

  1. switch = 000209Da
  2. switch = 000209Db
  3. switch = 000209Dd
  4. switch = 000209Dh
  5. switch = 000248Ba
  6. switch = 000248Bb
  7. switch = 000248Bd
  8. switch = 000248Bh

Can I use this reading datas in program to activate each digital output for relay?