/จำลองesp32 wifi x Blynk บนWokwi
#define BLYNK_TEMPLATE_ID "TMPL6tKEVLrpo"
#define BLYNK_TEMPLATE_NAME "32RY4"
#define BLYNK_AUTH_TOKEN "XUt6jcFe551KCnu-vmYeVURVCHZVQKf7"

#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>


char auth[] = "UTIj_-yRBkWQ0G4b4C-DyFm875SqBVUa"; // ใส่ Auth Token ของ Blynk ที่ได้รับจากแอปพลิเคชัน Blynk
char ssid[] = "Wokwi-GUEST"; // ใส่ชื่อ WiFi ที่ต้องการเชื่อมต่อ
char pass[] = ""; // ใส่รหัสผ่าน WiFi ที่ต้องการเชื่อมต่อ


int pinLED1 = 16; // ใส่หมายเลขของพิน GPIO ที่เชื่อมกับ LED
int pinLED2 = 17; // ใส่หมายเลขของพิน GPIO ที่เชื่อมกับ LED
int pinLED3 = 18; // ใส่หมายเลขของพิน GPIO ที่เชื่อมกับ LED
int pinLED4 = 19; // ใส่หมายเลขของพิน GPIO ที่เชื่อมกับ LED


void setup()
{
  Serial.begin(9600);


  Blynk.begin(auth, ssid, pass);
  pinMode(pinLED1, OUTPUT);
  pinMode(pinLED2, OUTPUT);
  pinMode(pinLED3, OUTPUT);
  pinMode(pinLED4, OUTPUT);
}


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

// ฟังก์ชั่นเปิด-ปิดไฟ LED ด้วยการกดปุ่มบนแอปพลิเคชัน Blynk
BLYNK_WRITE(V1)
{
  int ledState1 = param.asInt();

  if (ledState1 == 1) 
  {
    digitalWrite(pinLED1, HIGH);
  } else {
    digitalWrite(pinLED1, LOW);
  }
}

BLYNK_WRITE(V2)
{
  int ledState2 = param.asInt();

  if (ledState2 == 1) 
  {
    digitalWrite(pinLED2, HIGH);
  } else {
    digitalWrite(pinLED2, LOW);
  }
}
BLYNK_WRITE(V3)
{
  int ledState3 = param.asInt();

  if (ledState3 == 1) 
  {
    digitalWrite(pinLED3, HIGH);
  } else {
    digitalWrite(pinLED3, LOW);
  }
}
BLYNK_WRITE(V4)
{
  int ledState4 = param.asInt();

  if (ledState4 == 1) 
  {
    digitalWrite(pinLED4, HIGH);
  } else {
    digitalWrite(pinLED4, LOW);
  }
}