รบกวนสอบถามเชคสถานะการกด button ใน blynk แบบขา Virtual

ขอคำชี้แนะด้วยครับ คือผมต้องการเชคการกดปุ่ม V3 V4 V5 V6 หรือ V7 ถ้าปุ้มไหนมีการกด แล้วพอเรากดปุ่ม V10 จะให้ทำตามคำสั่งที่เราต้องการหนะครับ

#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
#define EspSerial Serial3
#define ESP8266_BAUD 115200
ESP8266 wifi(&EspSerial);
#include <EEPROM.h>

//=======Connect Server=======================
char auth[] = "xxxxxxxxxxx"; 
char server[] = "oasiskit.com";
char ssid[] = "Office2.4G";
char pass[] = "glnvdgdj'";
int port = 8080;
//=======End Connect Server=======================

//====Values WidgetLED=============================
  WidgetLED LED_L1(V30);
  WidgetLED LED_L2(V32);
  WidgetLED LED_L3(V34);
  WidgetLED LED_L4(V36);
  WidgetLED LED_L5(V38);
  
  WidgetLED LED_R1(V31);
  WidgetLED LED_R2(V33);
  WidgetLED LED_R3(V35);
  WidgetLED LED_R4(V37);
  WidgetLED LED_R5(V39);
//====END WidgetLED=============================
  WidgetLCD LCD(V0); // LCD
  
BlynkTimer timer;
BLYNK_CONNECTED(){
  Blynk.syncAll();
}

void setup() {  
  //====set LED off=====
  LED_L1.off();
  LED_L2.off();
  LED_L3.off();
  LED_L4.off();
  LED_L5.off();

  LED_R1.off();
  LED_R2.off();
  LED_R3.off();
  LED_R4.off();
  LED_R5.off();
  //====End set LED off=====
    
  Serial.begin(115200);
  Serial3.begin(115200);

  Blynk.begin(auth, wifi, ssid, pass, server, port);     //Reguler server

}

//=============Button Open=================
BLYNK_WRITE(V10){ 
  
  int btV10  = param.asInt();
  if (btV10 == 1){ //button V10 ON
      if(V3 == 1){
        LED_L1.on();
      }else if(V3 == 0){
        LED_L1.off();
      }else if(V4 == 1){
        LED_R1.on();
      }else if(V4 == 0){
        LED_R1.off();
      }
  }else if (btV10 == 0){ //button V10 Off
      Blynk.virtualWrite(V3,0); 
      Blynk.virtualWrite(V4,0);  
      Blynk.virtualWrite(V5,0);  
      Blynk.virtualWrite(V6,0);   
      Blynk.virtualWrite(V7,0);  
  }
  
}

//=============Button V3=================
/*BLYNK_WRITE(V3){ 

  int btV3  = param.asInt();
  if (btV3 == 1){ //trun on LED Left
      Serial.print("btV3 = ");
      Serial.println(btV3);  

  }else if (btV3 == 0){
      Serial.print("btV3 = ");
      Serial.println(btV3); 

  }
  
}*/

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






  
1 Like

จริงๆ แล้วตัวที่เช็ค ก็คือ ตัวนี้แหละครับ

ภาพ

เทคนิกคือก็ดึง ตัวแปรของ V3 V4 V5 V6 หรือ V7 มาเข้าเงื่อนไข แค่นั้นเอง

เดี๋ยวลองงมดูก่อนครับ ขอบคุณมากครับ

1 Like