RF based ON/OFF remote switch with current state confirmation?

Hi all,

Hoping for a little help - I have a clear idea of what I want to achieve, yet I'm very new at this and could do with a hand if possible. :o

I need to create 2 seperate Arduino powered modules - (A) is basically an RF remote, (B) is basically a RF triggered relay (pin goes high on a Arduino Mini).

(A) switches the output on (B) over 315MHz RF - but what I want to happen, is a visual indication on (A) (e.g lit led) that (B)'s output is on.

Instead of just toggling a LED on each press on device (A), I'd like confirmation that (B) has received the command and the output is in fact on - just in case the signal doesn't get through, and the module falls out of sync. Without being within eyesight you would otherwise not know the state.

Therefore both modules need to have RX/TX RF present.

Can someone please assist on how best to start with this, or perhaps point me towards some similar code / projects so that I can better understand?

Thanks very much.

In order to do what you want, you need a full bidirectional communications channel.

The local module will send an "ON" signal, the remote module will transmit an acknowledgement that the message was received, then test whether the device actually turned on and transmit a "device OK" signal.

Depending on what you are switching, the test may have to check whether a relay actually closed, whether remote device power is present, etc. For example, if you want to reliably turn on a light bulb , it is important to know whether the light bulb actually works and has not burned out!

The NRF24L01 transceiver modules have an acknowledge (ACK) function to tell you whether the message was received, but you will need a microcontroller to check whether the device actually turned on and is functioning properly.

I suspect that you most likely have already invested in some cheap 433MHz transmitters and receivers,,, But if you are not locked in on the cheap ASK modules, you could use, as jremington suggests, use the NRF2401 type transceivers (2.4GHz),,, Or if you prefer, or are restricted to 'something like 433MHz", you might think about NRF905 modules (sub 1 GHz modules which can be set to 433MHz and are reliable transceivers), which will also give you the same features as the NRF2401 types, as well as better range and signal performance of lower frequency comm.s

Beyond that, jremington's post lays it out pretty clearly. you just need to expand on that to meet the requirements of your project.

If you are considering them this Simple nRF24L01+ Tutorial may be of interest.

...R

There exist stand-alone bluetooth modules, which allow to control a relay.

The master controller should poll the slave (relay) modules every now and then, in order to find out whether they are still alive and what's their relay state.

Thanks very much everyone for the advice, I really appreciate it.

For the moment I'd like to try out the 315Mhz modules I have (cheapies like the 433 versions).
This is likely to yield better range, as I need the system to work in excess of 150ft, and having them on hand is a bonus. But I will definitely look at buying the other versions you guys have mentioned too for my kit.

As far as the microcontroller / receiver end testing the output, I'm happy to assume that if the message was received that all is well, as at this stage my latest idea is to have that controller running a piece of code, so I could perhaps put the acknowledgement directly into the code.

I'm not much of a coder, but off the top of your heads has anyone seen something similar that I can dissect and learn from?

Thanks again.

You need a TX and RX 315 MHz module on each end, and work out how to switch between TX and RX. I think one of the examples in the VirtualWire library can do this.

To get 150 foot range reliably, you will need good antennas and few obstructions, like walls.

Experiment with a simple setup to make sure you can achieve reliable transmission before you commit yourself.