کد:
#include <VirtualWire.h>
#include <Adafruit_SleepyDog.h>
int rx = 2;
int relay1 = 3;
int relay2 = 4;
int relay3 = 5;
int relay4 = 6;
int relay5 = 7;
int relay6 = 8;
int relay7 = 9;
int relay8 = 10;
int relay9 = 11;
int relay10 = 12;
int led = 13;
void setup()
{
Serial.begin(9600);
Serial.println("setup");
vw_set_rx_pin(rx);
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_rx_start();
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
pinMode(relay5, OUTPUT);
pinMode(relay6, OUTPUT);
pinMode(relay7, OUTPUT);
pinMode(relay8, OUTPUT);
pinMode(relay9, OUTPUT);
pinMode(relay10, OUTPUT);
Watchdog.enable(10000);
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') )
{
digitalWrite(led, true);
digitalWrite(relay1, HIGH);
Serial.println("relay1 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '2') )
{
digitalWrite(led, true);
digitalWrite(relay1, LOW);
Serial.println("relay1 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '3') )
{
digitalWrite(led, true);
digitalWrite(relay2, HIGH);
Serial.println("relay2 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '4') )
{
digitalWrite(led, true);
digitalWrite(relay2, LOW);
Serial.println("relay2 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '5') )
{
digitalWrite(led, true);
digitalWrite(relay3, HIGH);
Serial.println("relay3 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '6') )
{
digitalWrite(led, true);
digitalWrite(relay3, LOW);
Serial.println("relay3 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '7') )
{
digitalWrite(led, true);
digitalWrite(relay4, HIGH);
Serial.println("relay4 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '8') )
{
digitalWrite(led, true);
digitalWrite(relay4, LOW);
Serial.println("relay4 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '9') )
{
digitalWrite(led, true);
digitalWrite(relay5, HIGH);
Serial.println("relay5 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') && (buf[5] == '0'))
{
digitalWrite(led, true);
digitalWrite(relay5, LOW);
Serial.println("relay5 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') && (buf[5] == '1'))
{
digitalWrite(led, true);
digitalWrite(relay6, HIGH);
Serial.println("relay6 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') && (buf[5] == '2'))
{
digitalWrite(led, true);
digitalWrite(relay6, LOW);
Serial.println("relay6 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') && (buf[5] == '3'))
{
digitalWrite(led, true);
digitalWrite(relay7, HIGH);
Serial.println("relay7 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') && (buf[5] == '4'))
{
digitalWrite(led, true);
digitalWrite(relay7, LOW);
Serial.println("relay7 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') && (buf[5] == '5'))
{
digitalWrite(led, true);
digitalWrite(relay8, HIGH);
Serial.println("relay8 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') && (buf[5] == '6'))
{
digitalWrite(led, true);
digitalWrite(relay8, LOW);
Serial.println("relay8 off");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') && (buf[5] == '7'))
{
digitalWrite(led, true);
digitalWrite(relay9, HIGH);
Serial.println("relay9 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') && (buf[5] == '8'))
{
digitalWrite(led, true);
digitalWrite(relay9, LOW);
Serial.println("relay9 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '1') && (buf[5] == '9'))
{
digitalWrite(led, true);
digitalWrite(relay10, HIGH);
Serial.println("relay10 on");
delay(500);
digitalWrite(led, false);
}
if ((buf[0] == 'r') && (buf[1] == 'e') && (buf[2] == 'z') && (buf[3] == 'a') && (buf[4] == '2') && (buf[5] == '0'))
{
digitalWrite(led, true);
digitalWrite(relay10, LOW);
Serial.println("relay10 off");
delay(500);
digitalWrite(led, false);
}
else {
for (int i = 0; i < 10; i++)
buf [i] = ' ' ;
}
}
Watchdog.reset();
}