การส่งค่าสไลด์ กับ Blynk เขียนยังไงครับ

พอดีผมทำโปรเจคเครื่องฆ่าเชื้อโรคและแบคทีเรียในอากาศ ด้วยแสงยูวี
แต่ยังเขียนโค้ดไม่ค่อยเก่งและยังสับสน อยู่หลายจุด แต่ก็พอจับจุดได้
จึงอยากรู้ว่าเขียนโค้ดควบคุมสไลด์ใน Blynk เขียนยังไง
ให้เวลาที่เราตั้งค่าสไลด์ไว้ที่ 60 เพื่อควบคุม รีเลย์ให้เปิดไฟนะครับ
ตัวอย่าง#
โค้ดผมควรแก้ไขและเพิ่มเติมยัง ถ้าเป็นไปได้ช่วยจัดเรียงให้ผมใหม่ก็ได้นะครับ

#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID   "TMPL6aDxf8qPz"
#define BLYNK_TEMPLATE_NAME "Humidity"
#define BLYNK_AUTH_TOKEN    "EhDmIunpmcTW2OGhb--qLMy77QSy5EBI"

#include <ESP8266WiFi.h>               //ไลบารี่วายฟาย
#include <BlynkSimpleEsp8266.h>

#include <TridentTD_LineNotify.h>     //ไลบารี่ลาย
#define LINE_TOKEN "AGuxARVqqn6TuFsGgQIXIn4u8HeTQ6pP7lYzpZQ2tSA"

#include <DHT.h>                   //ไลบารี่DHT
DHT dht(D4,DHT11);                 //ประกาศชื่อตัวแปรและชนิดที่ขาพิน D4

#define led D3                     //กำหนดชื่อ led และขาพิน D3

#include <Wire.h>                    //ไลบารี่ หน้าจอ LCD
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);   

char ssid[] = "CPE-9C27";
char pass[] = "9876543210";
char auth[] = "EhDmIunpmcTW2OGhb--qLMy77QSy5EBI";

BlynkTimer timer;             //ไลบารี่ Timer
WidgetLED led1(V3);      //ส่งสถานะไฟ LED ไปยัง Blynk

/*int ValueOfSlider;
BLYNK_WRITE(V4)
{
  ValueOfSlider = param.asInt();
}
*/
void set()
{
   float h = dht.readHumidity();
   if(h<40||h>65) 
   {
    String LineText1;
    String string1 = "กำหนด=(40%-60%) ความชื้นเกินกำหนด ";
    String string2 = " %";
    LineText1 = string1 + h + string2;
    Serial.print("Line: ");
    Serial.println(LineText1);  //ข้อความออก ซีเรียล มอนิเตอร์
    LINE.notifySticker(LineText1,3,240);  // ส่ง Line Sticker ด้วย PackageID 1 , StickerID 2  พร้อมข้อความ
    //LINE.notifyPicture("https://i.pinimg.com/originals/43/d7/38/43d7386215bfc07b8de35dd44d4529dd.gif");}  //รูปภาพออกลาย  
   }
}

void setup()
{
  Serial.begin(115200);
  Blynk.begin(auth, ssid, pass);
  //delay(1000);
  Serial.println("Connection Complease");
  
  Serial.println(LINE.getVersion());      //แสดงเวอร์ชั่นของลาย
  LINE.setToken(LINE_TOKEN);             // กำหนด Line Token
  LINE.notify("Myarduino.net");

  dht.begin();               
  lcd.begin();
  lcd.backlight();
  Serial.println();
  Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)");
  
  pinMode(D4,INPUT);      //รับข้อมูล DHT เข้าขา D4  
  pinMode(D3,OUTPUT);     //ส่งข้อมูล led เข้าขา D3
  
  timer.setInterval(500000,set);     //หน่วงเวลาของลูป set    ส่ง Line
  //timer.setInterval(1000,blynk);   //หน่วงเวลาของลูป Sensor ส่ง Blynk
  //timer.setInterval(1000,LCD);      //หน่วงเวลาของลูป LCD    ส่ง หน้าจอ LCD

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

  float t = dht.readTemperature();
  float h = dht.readHumidity();
  float f = dht.readTemperature(true);
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
  delay(1000);
  
  if(h<40 || h>60)
  {
    digitalWrite(led,LOW);
    led1.on();                 //ส่งสานะไฟ LED ไปยัง Blynk
  }
  else
  {
    digitalWrite(led,HIGH);
    led1.off();               //ส่งสานะไฟ LED ไปยัง Blynk
  } 

  //Blynk.virtualWrite(V4, ValueOfSlider);
  Blynk.virtualWrite(V2,t);          //ส่งค่าอุณหภูมิไปยังBlynk
  Blynk.virtualWrite(V1,h);          //ส่งค่าความชื้นไปยังBlynk 
 
  lcd.setCursor(0, 0);
  lcd.print("TEMP :     ");
  lcd.setCursor(7, 0);
  lcd.print(t);
  lcd.setCursor(13, 0);
  lcd.print("C");
  lcd.setCursor(0, 1);
  lcd.print("HUMI :     ");
  lcd.setCursor(7, 1);
  lcd.print(h);
  lcd.setCursor(13, 1);
  lcd.print("%");
}
#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID   "TMPL6aDxf8qPz"
#define BLYNK_TEMPLATE_NAME "Humidity"
#define BLYNK_AUTH_TOKEN    "EhDmIunpmcTW2OGhb--qLMy77QSy5EBI"

#include <ESP8266WiFi.h>               //ไลบารี่วายฟาย
#include <BlynkSimpleEsp8266.h>

#include <TridentTD_LineNotify.h>     //ไลบารี่ลาย
#define LINE_TOKEN "AGuxARVqqn6TuFsGgQIXIn4u8HeTQ6pP7lYzpZQ2tSA"

#include <DHT.h>                   //ไลบารี่DHT
DHT dht(D4, DHT11);                 //ประกาศชื่อตัวแปรและชนิดที่ขาพิน D4

#define led D3                     //กำหนดชื่อ led และขาพิน D3

#include <Wire.h>                    //ไลบารี่ หน้าจอ LCD
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);   

char ssid[] = "CPE-9C27";
char pass[] = "9876543210";
char auth[] = "EhDmIunpmcTW2OGhb--qLMy77QSy5EBI";

BlynkTimer timer;             //ไลบารี่ Timer
WidgetLED led1(V3);      //ส่งสถานะไฟ LED ไปยัง Blynk

int ValueOfSlider; // ตัวแปรสำหรับเก็บค่าจากสไลด์

BLYNK_WRITE(V4) {
  ValueOfSlider = param.asInt(); // อ่านค่าจากสไลด์
}

void set() {
  float h = dht.readHumidity();
  if (h < 40 || h > 65) {
    String LineText1;
    String string1 = "กำหนด=(40%-60%) ความชื้นเกินกำหนด ";
    String string2 = " %";
    LineText1 = string1 + h + string2;
    Serial.print("Line: ");
    Serial.println(LineText1);  //ข้อความออก ซีเรียล มอนิเตอร์
    LINE.notifySticker(LineText1, 3, 240);  // ส่ง Line Sticker ด้วย PackageID 1 , StickerID 2  พร้อมข้อความ
  }
}

void setup() {
  Serial.begin(115200);
  Blynk.begin(auth, ssid, pass);
  Serial.println("Connection Complete");
  
  Serial.println(LINE.getVersion());      //แสดงเวอร์ชั่นของลาย
  LINE.setToken(LINE_TOKEN);             // กำหนด Line Token
  LINE.notify("Myarduino.net");

  dht.begin();               
  lcd.begin();
  lcd.backlight();
  Serial.println();
  Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)");
  
  pinMode(D4, INPUT);      //รับข้อมูล DHT เข้าขา D4  
  pinMode(D3, OUTPUT);     //ส่งข้อมูล led เข้าขา D3
  
  timer.setInterval(5000, set);     //หน่วงเวลาของลูป set ส่ง Line
}

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

  float t = dht.readTemperature();
  float h = dht.readHumidity();
  float f = dht.readTemperature(true);
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
  
  if (h < 40 || h > 60) {
    digitalWrite(led, LOW);
    led1.on();                 //ส่งสถานะไฟ LED ไปยัง Blynk
  } else {
    digitalWrite(led, HIGH);
    led1.off();               //ส่งสถานะไฟ LED ไปยัง Blynk
  }

  // ส่งค่าสไลด์ไปยัง Blynk
  Blynk.virtualWrite(V4, ValueOfSlider);

  Blynk.virtualWrite(V2, t);          //ส่งค่าอุณหภูมิไปยัง Blynk
  Blynk.virtualWrite(V1, h);          //ส่งค่าความชื้นไปยัง Blynk

  lcd.setCursor(0, 0);
  lcd.print("TEMP :     ");
  lcd.setCursor(7, 0);
  lcd.print(t);
  lcd.setCursor(13, 0);
  lcd.print("C");
  lcd.setCursor(0, 1);
  lcd.print("HUMI :     ");
  lcd.setCursor(7, 1);
  lcd.print(h);
  lcd.setCursor(13, 1);
  lcd.print("%");
}