I'm running Virtual Wire between two Arduino's and, so far I've been able to send characters and receive them on the other side.
Problem is, how do I turn this received 'A' (or whatever I send) into an action to operate a few digital outputs. (it's a relay circuit configured as an H-bridge)
Below is the sample receiver program included with VirtualWire.
// receiver.pde
//
// Simple example of how to use VirtualWire to receive messages
// Implements a simplex (one-way) receiver with an Rx-B1 module
#include <VirtualWire.h>
int twoPin = 2; //the two pins to be used to control the relays
int fourPin = 4;
void setup()
{
pinMode(twoPin, OUTPUT);
pinMode(fourPIn, OUTPUT);
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);
}
}