help me for RF 315 transmitter and receiver with arduino

hi
I have problem .
sorry for weak in english
I used virtualwire library for send and receive codes . but i have problem. after the programming , when turn on my transmitter , start the send code again and again and this is a loop until turn off transmitter !!! where problem !? :frowning:

transmitter code:
#include <VirtualWire.h>

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(2000);
}

receiver code:
#include <VirtualWire.h>

int relay = 4;

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
pinMode(relay,OUTPUT);
}

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
delay(100);
digitalWrite(relay,HIGH);
// Message with a good checksum received, dump it.
Serial.print("Got: ");

for (i = 0; i < buflen; i++)
{
Serial.print(buf*, HEX);*

  • Serial.println(" ");*
  • }*
  • Serial.println("");*
  • digitalWrite(13, false);*
  • }*
    }

loop means LOOP.. u are sending a message, waiting 2000ms, then relooping all over again and again

thank you :slight_smile: