RF Receiver

I just bought an RF transmitter and receiver for my arduino in order to replace my RF remote control used to control the lights. First I hooked up the receiver to get the pulses of the remote however to no avail. Tried both VirtualWire and RemoteSwitch. The receiver frequency (433Mhz) agrees with that of the remote which is also 433Mhz. As regards receiver velocity from the data sheet it is stated as 5Kbps.

I am not getting any pulses on the serial monitor. Any suggestions? Thanks!

Well without any definite information, no.

Perhaps if you provided some details - which receiver (link to datasheets are the best source of information), which transmitter, how you've wired them, the sketch you are using....

You're right!

These are the specs of the transmitter/receiver as bought from http://www.ebay.co.uk/itm/230781136559?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2648#ht_1391wt_1081

Includes:

1x 433Mhz RF TX and RX Kit
We will email you the relevant testing document/code for Arduino after purchase.

TX Technical Specifications:

A?Working voltage: 3V?12V
B?Working current: max?40mA (12V), min?9mA(3V)
C?Resonance mode: sound wave resonance (SAW)
D?Modulation mode: ASK /OOK
E?Working frequency: 315MHz-433.92MHz, customized frequency is available.
F?Transmission power: 25mW (315MHz at 12V)
G?Frequency error: +150kHz (max)
H?Velocity: ?10Kbps
I?Self-owned codes: negative
J?Aerial Length: 24cm (315MHz), 18cm(433.92MHz)

RX Technical Specifications:

A?Working voltage: 5.0V +0.5V
B?Working current:?4.5mA (5.0VDC)
C?Working principle: super-regeneration
D?Modulation method: OOK/ASK
E?Frequency range: 250MHz-450MHz
F?Bandwidth: 2MHz (315MHz, having result from testing at lowing the sensitivity 3dBm)
G?Sensitivity: excel –105dBm (50?)
H?Velocity: <5Kbps (at 315MHz and -95dBm)
I?Output signal: TTL electric level signal entire transmission;
J?Aerial length: 24cm (315MHz, 18cm (433.92MHz)

And this is the default receiver example in the VirtualWire Library I'm using as a sketch

// receiver.pde
//
// Simple example of how to use VirtualWire to receive messages
// Implements a simplex (one-way) receiver with an Rx-B1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: receiver.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include <VirtualWire.h>

const int led_pin = 6;
const int transmit_pin = 12;
const int receive_pin = 11;
const int transmit_en_pin = 3;

void setup()
{
    delay(1000);
    Serial.begin(9600);	// Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_tx_pin(transmit_pin);
    vw_set_rx_pin(receive_pin);
    vw_set_ptt_pin(transmit_en_pin);
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);	 // Bits per sec

    vw_rx_start();       // Start the receiver PLL running
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
	int i;

        digitalWrite(led_pin, HIGH); // Flash a light to show received good message
	// Message with a good checksum received, print it.
	Serial.print("Got: ");
	
	for (i = 0; i < buflen; i++)
	{
	    Serial.print(buf[i], HEX);
	    Serial.print(' ');
	}
	Serial.println();
        digitalWrite(led_pin, LOW);
    }
}

So I connected the receiver to pin 11. The 5V, GND and data have been connected to the receiver as indicated on the receiver itself i.e. VCC, Data, (empty), and GND respectively.

Hmm, perhaps you should put a known test pattern out from the transmitter (1kHz square wave pulses every few seconds or something like that) and investigate the response.

Tried that with no luck using:

void setup()
{
  pinMode(13, OUTPUT);
}

void loop()
{
  digitalWrite(13, HIGH);
  delayMicroseconds(100); // Approximately 10% duty cycle @ 1KHz
  digitalWrite(13, LOW);
  delayMicroseconds(1000 - 100);
}