I need fix my code to on/off relay

Video_00345

/*************** Relays *********************/
int relay1 = 2;//D4
int relay2 = 14;//D5
int relay3 = 12;//D6
int relay4 = 13;//D7
int ON = 0;
int OFF = 1;
int RelayBTN1 = 0;
int RelayBTN2 = 0;
int RelayBTN3 = 0;
int RelayBTN4 = 0;

/*************** LEDS *********************/
WidgetLED led1(10); //virtual led
WidgetLED led2(11); //virtual led
WidgetLED led3(12); //virtual led
WidgetLED led4(13); //virtual
WidgetLED led5(14); //virtual
WidgetLED led6(15); //virtual
WidgetLED led7(16); //virtual
WidgetLED led8(17); //virtual


void setup()
{
/********** relay init *************/
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(relay3, OUTPUT);
  pinMode(relay4, OUTPUT);

}


/*************** buttons *********************/
BLYNK_WRITE(V1)
{
  RelayBTN1 = param.asInt();
  Serial.print("RelayBTN1 ");
  Serial.println(RelayBTN1);
  if (RelayBTN1 == true) {
    digitalWrite(relay1, ON);
    Serial.println("relay1 on");
    led1.on();
    led2.off();

  }
  else {
    digitalWrite(relay1, OFF);
    Serial.println("relay1 off");
    led1.off();
    led2.on();
  }
}
BLYNK_WRITE(V2)
{
  RelayBTN2 = param.asInt();
  if (RelayBTN2 == true) {
    digitalWrite(relay2, ON);
    Serial.println("relay2 on");
    led3.on();
    led4.off();

  }
  else {
    digitalWrite(relay2, OFF);
    Serial.println("relay2 off");
    led3.off();
    led4.on();
  }
}

BLYNK_WRITE(V3)
{
  RelayBTN3 = param.asInt();
  if (RelayBTN3 == true) {
    digitalWrite(relay3, ON);
    Serial.println("relay3 on");
    led5.on();
    led6.off();

  }
  else {
    digitalWrite(relay3, OFF);
    Serial.println("relay3 off");
    led5.off();
    led6.on();
  }
}

BLYNK_WRITE(V4)
{
  RelayBTN4 = param.asInt();
  if (RelayBTN4 == true) {
    digitalWrite(relay4, ON);
    Serial.println("relay4 on");
    led7.on();
    led8.off();
  }
  else {
    digitalWrite(relay4, OFF);
    Serial.println("relay4 off");
    led7.off();
    led8.on();
  }
}

void loop() {
  Blynk.run();
  timer.run();
 
}
1 Like