433mhz & RC Switch Woes....

Hi Folks

I've been trying for days now to get a 433mhz set-up working with my RF outlet switches (as many have before). I just keep hitting wall after wall.

I'm currently using RCswitch library and am running a test with one arduino as a reciever and one as a transmitter. Both the 433mhz reciever and 433mhz transmitter are powered via the 'receiver' arduino (See image attached) this is important to know later.

Having decoded the on and off signals from my remote i have put it into the 'send' program. When i run the two arduinos at the same time the 'receive' arduino picks up the send transmission, which seems good, however the outlet does not switch on and off ?!?

The weird thing is i wanted to do a distance test so i took the transmitter out of the breadboard and installed it on a different one attached solely to the 'send' arduino. As soon as i did this it no longer seamed to be transmitting as the serial monitor no longer showed anything. However as soon as i put it back onto the power from the 'recieve' arduino all worked again ?!?

So my two questions are this -

  1. Why does the transmitter seem to only work when powered by the 'receive' arduino.
  2. Why does my outlet not switch off when apparently the correct code is being transmitted?

Images attached of the arduino set up. Also a screen shot of the two sketches and serial monitor. I can post the code directly too if it helps.

Any help will be greatly appreciated.

FTL

In your image your powering both the TX and RX modules from the RX arduino. Probably the only reason it works at all is the grounds are connected via the USB sockets in the PC. Power them separately from each Arduino, DO NOT common the 5V between the arduino's though.

Riva:
In your image your powering both the TX and RX modules from the RX arduino. Probably the only reason it works at all is the grounds are connected via the USB sockets in the PC. Power them separately from each Arduino, DO NOT common the 5V between the arduino's though.

Hello again Riva. I have tried this. As soon as i power the transmiter, directly from the transmitter assigned arduino it stops working. This is the problem.

FTL

Try connecting them to separate arduino power supplies again and if your still not receiving anything then try swapping 5V and data wires on transmitter. Maybe the wires are wrong (I was only guessing)

Ah yes, but i now know (from the manufacturer) that i have it wired right. And earlier today i got it to transmit.

I can't seem to replicate that now. Perhaps a dodgy transmitter??

FTL

Ok... here is what i know.

I can only get the transmitter to transmit when it is powered by the 'receive' arduino and only when BOTH are powered via USB.

:confused:

FTL

Can you wire the devices for separate power supplies and then post another picture please.
It could be a faulty TX device but because you say it always works when powered from one device only could mean the RX is picking up RF noise from TX to trigger the receiver or the TX is working okay. The breadboard could also be faulty.

First image is when each module is powered by its designated Arduino. The 2nd image is when the transmitter is powered via the reciever arduino.

1st image setup does nothing.

2nd image (2ns post) works as is to be expected... i.e. The transmitter transmits and the receiver receives exactly what i programmed the transmitter to send.

Both powered via usb.

I don't think its random RF noise considering the receiver's serial monitor shows exactly what i programmed the reciver to transmit and with the delay i programmed too.

Very odd.

FTL

Image 2.

Best as I can see the device looks like it should work when plugged into separate arduino. To eliminate software I have attached simple transmitter & receiver sketches that should just pulse the on board LED of the receiver when the transmitter is running. When it's not running the LED could be on, off or fluttering due to random noise but should not pulse in a fixed manner. This will hopefully eliminate hardware problems and point the finger at software.

Transmitter:

void setup() {
    pinMode(10,OUTPUT);      // TX Pin
}

void loop() {
    digitalWrite(10,HIGH);
    delay(100);
    digitalWrite(10,LOW);
    delay(100);
}

Receiver:

void setup() {
    pinMode(2,INPUT);        // ISR 0 Pin
    pinMode(13,OUTPUT);      // Onboard LED
    attachInterrupt(0,rxISR,CHANGE);
}

void rxISR(){
    digitalWrite(13,digitalRead(3));    // Echo pin state to LED
}
void loop() {
}

Thanks Riva... but im almost ready to give up on this... think i will pull wires instead.

:frowning:

FTL