Estoy ejecutando Virtual Wire entre dos Arduino y, hasta ahora, he podido enviar personajes y recibirlos por el otro lado.
El problema es, ¿cómo puedo convertir esta 'A' recibida (o lo que sea que envíe) en una acción para operar algunas salidas digitales? (es un circuito de relé configurado como un puente H)
A continuación se muestra el programa receptor de muestra incluido con 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);
}
}