สวัสดีครับพี่ๆ ผมอยากให้กดเปิดButton manaul แล้ว ปุ่มbuttonในBlynk มันเปิดด้วย ต้องทำยังไงครับ โค้ดที่ผมเขียนตอนนี้ได้แค่ ควบคุม Relay บน Blynk อย่างเดียวครับ

#define BLYNK_TEMPLATE_ID “TMPL3lRTtbKp”
#define BLYNK_DEVICE_NAME “my blynk”
#define BLYNK_FIRMWARE_VERSION “0.1.0”
#define BLYNK_PRINT Serial
#define APP_DEBUG
#define DHTTYPE DHT11
#define DHTPIN D4
#include “BlynkEdgent.h”
#include <DHT.h>
DHT dht(DHTPIN, DHTTYPE); //ตัวแปล DHT
int ldr = A0; //ตัวแปล LDR
int button = D0;

BLYNK_WRITE(V0) //เก็บค่าตัวแปล Relay
{
int val = param.asInt(); //
digitalWrite(D5, val); //
}
BLYNK_WRITE(V1) //
{
int val = param.asInt(); //
digitalWrite(D6, val); //
}
BLYNK_WRITE(V2) //
{
int val = param.asInt(); //
digitalWrite(D7, val); //
}
BLYNK_WRITE(V3) //
{
int val = param.asInt(); //
digitalWrite(D8, val); //
}

void setup()
{

pinMode(D5, OUTPUT); //แสดงสัญญาณ Relay
delay(100); //
BlynkEdgent.begin(); //

pinMode(D6, OUTPUT); //
delay(100); //
BlynkEdgent.begin(); //

pinMode(D7, OUTPUT); //
delay(100); //
BlynkEdgent.begin(); //

pinMode(D8, OUTPUT); //
delay(100); //
BlynkEdgent.begin(); //

dht.begin(); // เริ่มทำงาน DHT
delay(100); //
BlynkEdgent.begin(); //

Serial.begin(9600); // เริ่มทำงาน LDR
pinMode(ldr,INPUT); //
BlynkEdgent.begin(); //
}

void loop()
{
BlynkEdgent.run();
float t = dht.readHumidity(); //แสดงค่า DHT
float h = dht.readTemperature(); //
Blynk.virtualWrite(V5,t); //
Blynk.virtualWrite(V6,h); //
int val = analogRead(ldr); //แสดงค่า LDR
Blynk.virtualWrite(V4,val); //
}

ลองดูเป็นแนวทางครับ ผมให้ไปเแนวแบบกว้างๆ นะครับ ดูการเชื่อมโยงของ code ถ้าเข้าใจ Code แล้วก็สามารถประยุกต์ ใช้กับ โปรเจคเราได้เลย

#include <Bounce2.h>

#define BUTTON_1 D0
Bounce debouncer1 = Bounce();

int Btn1 = 0; 
int Device_1sent;


void setup() {

 pinMode(BUTTON_1, INPUT_PULLUP);
  debouncer1.attach(BUTTON_1);   debouncer1.interval(25);

}

BLYNK_WRITE(V1)//PB V1
{
  int pinValue = param.asInt();
  //Serial.print("V1 =  "); Serial.println(pinValue);
  if (pinValue == 1 ) {
    Device_1sent = 11;
  }
  if (pinValue == 0) {
    Device_1sent = 10;
  }
}


if (Device_1sent  == 11) { //on

   digital.write (xx,xx); {//ทำให้ Relay  on
        
      Btn1 = 1;
}

    if (Device_1sent  == 10) {// Relay  off

  digital.write (xx,xx); {//ทำให้ Relay  off

         Btn1 = 0;
}

debouncer1.update();
    //--Toggle SW  PB 1

    if ( debouncer1.fell() ) {
      Btn1 = !Btn1; // Toggle LED state

      if ( Btn1 == 1 ) {//ทำให้ Relay  on
        Device_1sent = 11;
        Blynk.virtualWrite(V1, 1);
      }

      if ( Btn1 == 0 ) {//ทำให้ Relay  off
        Device_1sent = 10;
        Blynk.virtualWrite(V1, 0);
      }
    }




ทำได้แล้วครับ ขอบคุณพี่มากครับได้ความรู้ใหม่