Wireless Communication between 2 Arduino Boards (500M max distance )
The equipment I needed:
1 Arduino Uno R3
1 Arduino Duemilanove
1 RWS-371-6 Wireless Hi Sensitivity Receiver Module (434MHz)
1 TWS-BS Wireless Hi Power Transmitter Module (434MHz)
1 Breadboard
11 Wires
2 USB cables to connect to the Arduinos
I experimented with some different configurations but I managed to get results connecting the transmitter to the 3.3V or 5V power supply and connecting the data lead to pin 12 on the Arduino. The receiver could only be connected to the 5V power supply and the data lead to pin 11 on the Arduino.
Reciever code
// client.pde
//
// Simple example of how to use VirtualWire to send and receive messages
// with a DR3100 module.
// Send a message to another arduino running the 'server' example, which
// should send a reply, which we will check
//
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600); // Debugging only
Serial.println("setup");
// Initialise the IO and ISR
}
void loop()
{
const char *msg = "hello";
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
digitalWrite(13, true); // Flash a light to show transmitting
vw_send((uint8_t *)msg, strlen(msg));
Serial.println("Sent");
digitalWrite(13, false);
// Wait at most 200ms for a reply
{
{
int i;
// 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("");
}
}
else
Serial.println("Timout");
}
Transmitter Code
// transmitter.pde
//
// Simple example of how to use VirtualWire to transmit messages
// Implements a simplex (one-way) transmitter with an TX-C1 module
//
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600); // Debugging only
Serial.println("setup");
// Initialise the IO and ISR
}
void loop()
{
const char *msg = "hello";
digitalWrite(13, true); // Flash a light to show transmitting
vw_send((uint8_t *)msg, strlen(msg));
digitalWrite(13, false);
delay(200);
}
Comments
Post a Comment