หาคนช่วยหน่อยครับ esp 8266 ชอบรีเซตตัวเอง

 /* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <TridentTD_LineNotify.h>
#include <time.h>
#include <PZEM004Tv30.h>
#include <EasyScheduler.h>
int timezone = 7*3600;
int dst =0;
#define Relay1 D5
#define LED D6
PZEM004Tv30 pzem(D7,D8);
WidgetTerminal terminal(V40);
//ตั้งค่าคีย์สำหรับการเชื่อมต่อจุดต่างๆ
char ssid[] = "--------------";
char pass[] = "-----------";
char auth[] = "-------------------------";
#define LINE_TOKEN  "---------------------"
int T1=0;
int L1=0;
Schedular Task1;
Schedular Task2;
void setup()
{
  Serial.begin(9600);
  WiFi.begin(ssid, pass);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }

  Serial.println(""); 
  Serial.println("Wi-Fi connected");
  Serial.print("IP Address : ");
  Serial.println(WiFi.localIP()); 
  LINE.setToken(LINE_TOKEN);
  LINE.notify("ระบบไฟเริ่มทดสอบใช้งานแล้ว");
  pinMode(D5,INPUT_PULLUP);
  Blynk.begin(auth, ssid, pass, IPAddress(00,000,000,00), 8080);
  pinMode(D5, OUTPUT); 
  pinMode(D6, OUTPUT);
  configTime(timezone,dst, "pool.ntp.org","time.nist.gov"); 
    Serial.println("\nWaiting for time");
    while (!time(nullptr)) {
      Serial.print(".");
      delay(1000);
    }
  Task1.start();
  Task2.start();
}
void loop()
{
  Blynk.run();
  time_t now = time(nullptr);
  struct tm* p_tm = localtime(&now);
  if( (p_tm->tm_hour == 11) && (p_tm->tm_min == 30 )){
  if(L1 == 1){L1=3;LINE.notify("ไฟชั้น 1 กำลังเปิดอยู่");};
  if(L1 == 0){L1=3;LINE.notify("ไฟชั้น 1 ปิดแล้ว");}
  };
  Task1.check(volt, 5000);
  Task2.check(reconnectwifi ,4000);
};

BLYNK_WRITE(V1)
{
  if (param.asInt() == 1)
  {
    Blynk.virtualWrite(V1, 1); //On
    digitalWrite(D5, HIGH);
    T1=1;
    LINE.notify("ระบบไฟเปิดแล้ว");
    AutoMode();
  }
  
  else
  {
   Blynk.virtualWrite(V1, 0); //Off
   digitalWrite(D5, LOW);
   T1=0;
   LINE.notify("ระบบไฟปิดแล้ว");
   AutoMode();

 }
   }
void AutoMode(){
  if (T1 == 1){
    Serial.println("T1=1");
    L1 = 1;
    }
  else if (T1 == 0 ){
    Serial.println("T1=0");
    L1 = 0;
    }
  }
void volt(){
     float voltage = pzem.voltage();
        Blynk.virtualWrite(V30,voltage);

    float current = pzem.current();
        Blynk.virtualWrite(V31,current);

    float power = pzem.power();
        Blynk.virtualWrite(V32,power);

    float energy = pzem.energy();
        Blynk.virtualWrite(V33,energy);

    float frequency = pzem.frequency();
        Blynk.virtualWrite(V34,frequency);

    float pf = pzem.pf();
        Blynk.virtualWrite(V35,pf);
  }
void reconnectwifi(){
  if(WiFi.status() == WL_CONNECTED){
    terminal.clear();
    terminal.println("------------------");
    terminal.println("WiFiConnect : OK ");
    terminal.println(WiFi.localIP());
    terminal.println("------------------");
    terminal.flush();
  }
  else{
    terminal.clear();
    terminal.println("------------------");
    terminal.println("WiFiConnect : Failed :( ");
    terminal.println("------------------");
    terminal.flush();
  WiFi.reconnect();
}
  }

ปัญหาเป็นแบบนี้ครับ เวลาเปิด blynk แล้วมันก็ reset เองอันนี้ไม่แน่ใจเป็นที่อะไร
อุปกรณ์ที่ใช้ esp8266,PZEm-004t

แคปหน้า serial มาดูหน่อยครับ ว่ามันขึ้นยังไง

ถ้าอย่างนั้นลอง ตัดชุด Pzem ออกไปก่อน ให้เหลือเฉพาะชุด Wi-Fi connect กับ Blynk ดูครับ ดูให้มันใช้ได้ก่อน จากนั้นค่อยๆ เพิ่มทีละอย่างเข้าไปครับ :blush: