Go Down

Topic: Arduino + 315/433 MHZ RF Link set (Read 4 times) previous topic - next topic

blipinthedata

Dear reader,

I have been trying for a while to get the arduino working with a RF link set, this is the RF link set from seeedstudio.

http://www.seeedstudio.com/depot/315mhz-rf-link-kit-p-76.html?cPath=2

I have them connected as the picture states, I can actually hear my transmitter blipping in my speakers (so I know that one is fine).

I am using the livewire transmitter/receiver to send data (I'm using the standard program).

However, I still cant seem to receive any data.

Does anyone have any idea what i might be doing wrong ?

Kind regards,
Sean.

EriSan500

If you want help, please post your code.

EriSan500

blipinthedata

Pardon me, forgot about that.

Receiver code:

Code: [Select]
// 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>
#undef int
#undef abs
#undef double
#undef float
#undef round
void setup()
{
   Serial.begin(9600);      // Debugging only
   Serial.println("setup");

   // Initialise the IO and ISR
   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(13, true); // Flash a light to show received good message
     // Message with a good checksum received, dump it.
     Serial.print("Got: ");
     
     for (i = 0; i < buflen; i++)
     {
         Serial.print(buf[i], HEX);
         Serial.print(" ");
     }
     Serial.println("");
       digitalWrite(13, false);
   }
}


Transmitter:

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

#include <VirtualWire.h>
#undef int
#undef abs
#undef double
#undef float
#undef round
void setup()
{
   Serial.begin(9600);        // Debugging only
   Serial.println("setup");

   // Initialise the IO and ISR
   vw_set_ptt_inverted(true); // Required for DR3100
   vw_setup(2000);       // Bits per sec
}

void loop()
{
   const char *msg = "hello";

   digitalWrite(13, true); // Flash a light to show transmitting
   vw_send((uint8_t *)msg, strlen(msg));
   vw_wait_tx(); // Wait until the whole message is gone
   digitalWrite(13, false);
   delay(200);
}

PaulS

On the receiver:
Code: [Select]
#undef int
     int i;

So, how is that working out for you?

blipinthedata

Hello Paul,

I have no clue what that would do, this is not my own code.
This is sample code from Livewire.

Can you please tell me how to fix it ?

Kind regards,
Sean.

CaptainObvious

Yeah, the old examples included with VirtualWire needed to be changed to work correctly, it's been some time.. but you can download the updated library, and use the examples included.

http://www.open.com.au/mikem/arduino/

1.5 is the most recent version, and right below that is the PDF which explains how to use the library.

After you extract the libraries to their destination, close the Arduino program, open it back up and goto File, Examples, Virtual Wire and use the Transmitter and the Receiver examples, just tested with 434mhz pair from Seeedstudio and works fine.

Best of luck! :)

Go Up