OK, I am using the VirtualWire example for the receiver Code Below:
// transmitter.ino
// 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@airspayce.com)
// Copyright (C) 2008 Mike McCauley
// $Id: transmitter.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $
#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(200);
}
// 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@airspayce.com)
// Copyright (C) 2008 Mike McCauley
// $Id: receiver.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $
#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
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);
}
}
I have swapped out both transmitter and receiver, rewired each, and added straight wire antennas. The old code showed the Tx light flashing, this code does not but it does have the LED at pin 13 flashing.
How would I Serial.print the data in this line of code "vw_send((uint8_t *)msg, strlen(msg));" just to make sure it is actually being sent?
Pin 11 = transmit data and pin12 = receive data
The Led Pin 13 on the receiver never blinks, but it does output the "Setup" message to the Serial.print screen.
This line in the receiver side never passes a trus state it seems "if (vw_get_message(buf, &buflen)) // Non-blocking"
this is true for 3 different Nano's, and 3 different sets of modules two different antenna setups as well. Here is the latest picture of the setup for the VirtualWire sketches with long antennas.
I have two separate configurations on different boards, all Nano's, I have checked and rechecked wiring and code and it always seems that the receiver is not getting the message. I have no idea what to do next. On the previous sketch at least I saw the Tx light flicker, not on this one, just the pin 13 led.
Just to make sure I swapped pins12 for 11 on one and 11 for 12 on the other, not change then I reset the boards,
I have one more pair of Rf devices.
The circuit is simple Vcc, Gnd, and Data, what could go wrong?
((
Incidentally, the LED was connected to D4 from the old setup, disregard as it does nothing in this setup