I keep disconnected on Blynk

i am new to blynk application i tried using multiple dht22 sensor and it keeps disconnecting but if i use only 1 sensor its usable can some one help me

sorry for my english


#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>

char auth[] = "--";
char ssid[] = "--";
char pass[] = "--";

WidgetLED LED(V15);

#define DHTPIN0 0
#define DHTPIN1 1
#define DHTPIN2 2
#define DHTPIN3 3
#define DHTPIN4 4
#define DHTPIN5 5

#define DHT0TYPE DHT22
#define DHT1TYPE DHT22
#define DHT2TYPE DHT22
#define DHT3TYPE DHT22
#define DHT4TYPE DHT22
#define DHT5TYPE DHT22

#define RELAYPIN 14
#define VPINRELAY V13
#define VPINCHANGE V14

int selectMode = 0;
int maxTemp = 32;

DHT dht0(DHTPIN0, DHT0TYPE);
DHT dht1(DHTPIN1, DHT1TYPE);
DHT dht2(DHTPIN2, DHT2TYPE);
DHT dht3(DHTPIN3, DHT3TYPE);
DHT dht4(DHTPIN4, DHT4TYPE);
DHT dht5(DHTPIN5, DHT5TYPE);
BlynkTimer timer;

BLYNK_WRITE(V6)
{
  selectMode = param.asInt();
}

void sendSensor()
{
  float h0 = dht0.readHumidity();
  float t0 = dht0.readTemperature();
  float h1 = dht1.readHumidity();
  float t1 = dht1.readTemperature();
  float h2 = dht2.readHumidity();
  float t2 = dht2.readTemperature();
  float h3 = dht3.readHumidity();
  float t3 = dht3.readTemperature();
  float h4 = dht4.readHumidity();
  float t4 = dht4.readTemperature();
  float h5 = dht5.readHumidity();
  float t5 = dht5.readTemperature();

  if (isnan(h1) || isnan(t1)) {
    return;
  }
  if (isnan(h0) || isnan(t0)) {
    return;
  }
   if (isnan(h2) || isnan(t2)) {
    return;
  }
    if (isnan(h3) || isnan(t3)) {
    return;
  }
    if (isnan(h4) || isnan(t4)) {
    return;
  }
    if (isnan(h5) || isnan(t5)) {
    return;
  }

  if (selectMode == 1) {
    if (t0,t1,t2,t3,t4,t5 > maxTemp)
    {
      digitalWrite(RELAYPIN, LOW);
      Blynk.notify("LED ==>> ON");
      LED.on();
      Blynk.virtualWrite(VPINRELAY, 1);
    }
    else {
      digitalWrite(RELAYPIN, HIGH);
      Blynk.notify("LED ==>> OFF");
      LED.off();
      Blynk.virtualWrite(VPINRELAY, 0);
    }
  }
  else
  {
    digitalWrite(RELAYPIN, LOW); 
    Blynk.notify("LED ==>> ON");
    LED.on();
    Blynk.virtualWrite(VPINRELAY, 1);
  }
  Blynk.virtualWrite(V1, h0);
  Blynk.virtualWrite(V2 , t0);
  Blynk.virtualWrite(V3, h1);
  Blynk.virtualWrite(V4 , t1);
  Blynk.virtualWrite(V5, h2);
  Blynk.virtualWrite(V6 , t2);
  Blynk.virtualWrite(V7, h3);
  Blynk.virtualWrite(V8 , t3);
  Blynk.virtualWrite(V9, h4);
  Blynk.virtualWrite(V10 , t4);
  Blynk.virtualWrite(V11, h5);
  Blynk.virtualWrite(V12 , t5);
}

void setup()
{
  // Debug console
  Serial.begin(9600);
  pinMode(RELAYPIN, OUTPUT);
  dht0.begin();
  dht1.begin();
  dht2.begin();
  dht3.begin();
  dht4.begin();
  dht5.begin();
  
  Blynk.begin(auth, ssid, pass);
  timer.setInterval(5000L, sendSensor);
}

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

You have a number of issues.
First of all, your choice of GPIO pins for your sensors (GPIO 0-5) is not great…

The ESP8266 doesn’t really have 6 pins that are suitable for this. You should read this:

and don’t forget that the “D” numbers screen-printed onto a NodeMCU or Wemos D1 Mini are not GPIO numbers.

You are also doing the equivalent of 15 Blynk.virtualWrite operations one after another (the Blynk.Notify and LED.on/off commands are effectively the same as Blynk.virtualWrites). This is going to cause you problems…

Also, please don’t use Blynk notifications in this way, write the data to a value widget or similar, and save the notifications for unusual events.

Pete.