สอบถามปัญหาการใช้ ESP32 คู่กับ FreeRTOS

สวัสดีครับ ผมลองหัดใช้บอร์ด ESP32 ทำ smart farm โดยตอนแรกผมเริ่มจากหัดใช้ BLYNK อัพโหลดข้อมูลค่าจาก DHT111 แล้วก็หัดทำ Multitask จาก FreeRTOS แต่พอนำมารวมกันปรากฎว่า BLYNK เกิด connected สลับกับ Disconnected ตลอดเวลา

#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <SimpleDHT.h>
#define RED 4
#define YELLOW 18
#define GREEN 19
char auth[] = "aHkW-RILCoBF9ErZgpyo4Bc1SqRRUI4I";
char ssid[] = xxxxxxxx";
char pass[] = "xxxxxxx";

int DHTSENSOR = 15;
SimpleDHT11 dht11;
BlynkTimer timer;



void sendSensor() {
  //กำหนดตัวแปรเก็บค่าอุณหภูมิ 
  byte temperature = 0;   
  //กำหนดตัวแปรเก็บค่าความชื้นสัมสัทธ์        
  byte humidity = 0;
  //อ่านค่าจากเซ็นเซอร์
  dht11.read(DHTSENSOR, &temperature, &humidity, NULL);
  while (temperature == 0) {
    //อ่านค่าจากเซ็นเซอร์
    dht11.read(DHTSENSOR, &temperature, &humidity, NULL);  
    Serial.println("DHT11 get failed");
    delay(1500);
  }
  //ส่งค่า humidity V1 ไปยัง blynk server
  Blynk.virtualWrite(V1, humidity);   
  //ส่งค่า temperature V2 ไปยัง blynk server
  Blynk.virtualWrite(V2, temperature);  
  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.print("% | ");
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println("C");
}
void setup() {
  Serial.begin(115200);
  //เริ่มการเชื่อมต่อ Blynk Server
  Blynk.begin(auth, ssid, pass);
  //ตั้งเวลาส่งข้อมูลให้ Blynk Server ทุกๆ 5 วินาที
  timer.setInterval(5000L, sendSensor);
  xTaskCreate(redLedControllerTask, "RED LED Task", 128, NULL, 1, NULL);
  xTaskCreate(greenLedControllerTask, "GREEN LED Task", 128, NULL, 1, NULL);
  xTaskCreate(yellowLedControllerTask, "YELLOW LED Task", 128, NULL, 1, NULL);
}
void redLedControllerTask(void *pvParameters)
{
  pinMode(RED, OUTPUT);

  while (1)
  {
    delay(500);
    digitalWrite(RED, digitalRead(RED) ^ 1);

  }
}

void  greenLedControllerTask(void *pvParameters)
{
  pinMode(GREEN, OUTPUT);

  while (1)
  {
    delay(1000);
    digitalWrite(GREEN, digitalRead(GREEN) ^ 1);

  }
}

void yellowLedControllerTask(void *pvParameters)
{
  pinMode(YELLOW, OUTPUT);
  while (1)
  {
    delay(2000);
    digitalWrite(YELLOW, digitalRead(YELLOW) ^ 1);
  }
}
void loop() {
  Blynk.run();
  timer.run();
}

ขอบคุณมากครับ

มันบอก task นี้มีปัญหา ลองเปลี่นรดีเล เป็น 1000 ดูว่าหายไหม