korzystałem z tego kodu do sterowania jednym ledem ale nie potrafię go rozbudować żeby działały trzy
Kod:
dla nadajnika
#include <VirtualWire.h>
int guzik=2;
void setup()
{
pinMode(guzik, INPUT_PULLUP);
vw_set_tx_pin(9);
vw_setup(2000); // Bits per sec
}
void loop()
{
char *msg;
digitalWrite(13, true);
if (digitalRead (guzik)==LOW) {msg="on"; }
else {msg="off"; } ;
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13, false);
delay(200);
}
dla odbiornika
#include <VirtualWire.h>
int LED=2;
boolean LEDON=false;
char stan;
void setup()
{
Serial.begin(9600);
pinMode (LED,OUTPUT);
vw_setup(2000);
vw_set_rx_pin(4);
vw_rx_start();
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
int i;
String stan;
for (i = 0; i < buflen; i++)
{
stan +=char(buf[i]);
}
if ( stan =="on") {
LEDON=!LEDON;
digitalWrite (LED, LEDON);
delay(2000);
digitalWrite (LED,LEDON);
delay(50);
}
} }