Arduino and RF transmitter and receiver modules

This is a simple example for an RF transmitter and reciever, these come in a couple of flavours the pair I had  operate at 315Mhz.

These modules are readily available and look like this

Specs RF  Receiver

1. Product Model: MX-05V
2. Operating voltage: DC5V
3. Quiescent Current: 4mA
4. Receiving frequency:315Mhz
5. Receiver sensitivity:-105DB

Specs RF  Transmitter

1. Product Model: MX-FS-03V
2. Launch distance :20-200 meters
3. Operating voltage :3.5-12V
4. Operating mode: AM
5. Transfer rate: 4KB / S
6. Transmitting power: 10mW
7. Transmitting frequency: 315Mhz

You will need an Arduino to be the transmitter and one to be the receiver. I used a Nano as transmitter and an Uno for receiver. This just made it easier to program the correct Arduino.

Schematic

Code

These need the VirtualWire library to be installed, get it from http://www.pjrc.com/teensy/td_libs_VirtualWire.html

 

Transmitter code

#include <VirtualWire.h>
 
int RF_TX_PIN = 4;
 
void setup()
{
  vw_set_tx_pin(RF_TX_PIN); // Setup transmit pin
  vw_setup(2000); // Transmission speed in bits per second.
}
 
void loop()
{
  const char *msg = "hello world";
  vw_send((uint8_t *)msg, strlen(msg));  // Send 'hello' every 400ms.
  delay(400);
 
}

 

Receiver code

#include <VirtualWire.h>
 
int RF_RX_PIN = 4;
 
void setup()
{
  Serial.begin(9600);
  Serial.println("setup");
  vw_set_rx_pin(RF_RX_PIN);  // Setup receive pin.
  vw_setup(2000); // Transmission speed in bits per second.
  vw_rx_start(); // Start the PLL receiver.
}
 
void loop()
{
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
  if(vw_get_message(buf, &buflen)) // non-blocking I/O
  {
    int i;
    // Message with a good checksum received, dump HEX
    Serial.print("Got: ");
    for(i = 0; i < buflen; ++i)
    {
      Serial.print(buf[i], HEX);
      Serial.print(" ");
    //Serial.print(buf[i]);
    }
    Serial.println("");
  }
}

 

Related posts

Led Control With Arduino And Python Tkinter

Controlling the Arduino built in LED with Python and PySerial

Arduino and L3G4200D three-axis gyroscope example

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More