Project going constantly offline

Hi,
My blynk project is constantly going OFF… Somedays it work, and somedays it is Offline… Need to restart all the time :frowning:
you know why?
I’m using the same code. I didn’t change the code.
I tested with other Arduino, and other Ethernet shield and the problem keeps.
But i’m having these days a VERY LOW net speed (like 1mb or 2) will that be cause???

Code:


    #include <SPI.h>
    #include <Ethernet.h>
    #include <BlynkSimpleEthernet.h>
    #include <DHT.h>
    #define W5100_CS  10
    #define SDCARD_CS 4
    #define DHTPIN 2        
    #define DHTTYPE DHT11    
    DHT dht(DHTPIN, DHTTYPE);
    BlynkTimer timer;
    WidgetBridge bridge1(V1);
    static bool value = true;

    char auth[] = "545db7988e09468da8bae2506b99bc25";


    void sendSensor()
    {
      float h = dht.readHumidity();
      float t = dht.readTemperature();

      if (isnan(h) || isnan(t)) {
        Serial.println("Failed to read from DHT sensor!");
        return;
      }

       bridge1.virtualWrite(V20, t);
       bridge1.virtualWrite(V21, h);
        
    }



    BLYNK_CONNECTED() 
    {
      bridge1.setAuthToken("473457fa470c42edb5c6c340661e2019");
    }




    void setup()
    {
      Serial.begin(9600);
      pinMode(SDCARD_CS, OUTPUT);
      digitalWrite(SDCARD_CS, HIGH); 
      Blynk.begin(auth);
      dht.begin();

      pinMode(3, OUTPUT);
      pinMode(4, OUTPUT);
      pinMode(8, OUTPUT);
      pinMode(5, OUTPUT);
      pinMode(7, OUTPUT);
      pinMode(6, OUTPUT);
      pinMode(9, OUTPUT);

      digitalWrite(3, HIGH);  
      digitalWrite(4, HIGH);  
      digitalWrite(8, HIGH); 
      digitalWrite(5, HIGH); 
      digitalWrite(7, HIGH); 
      digitalWrite(6, HIGH); 
      digitalWrite(9, HIGH); 

      timer.setInterval(1000L, sendSensor); 
    }


    BLYNK_WRITE(V9)

     {
      if (param.asInt() == 0) 
      {
        digitalWrite(5, HIGH);
        
      } 
    else
      {
        digitalWrite(5, LOW);
      }
      
    }

    BLYNK_WRITE(V15)

    {
      if (param.asInt() == 0) 
      {
        digitalWrite(6, HIGH);
        
      } 
    else
      {
        digitalWrite(6, LOW);
      }
      
    }

    BLYNK_WRITE(V7)
    {
      if (param.asInt() == 0) 
      {
        digitalWrite(7, HIGH);
        
      } 
    else
      {
        digitalWrite(7, LOW);
      }
      
    }


    BLYNK_WRITE(V8)
    {
      if (param.asInt() == 0) 
      {
        digitalWrite(8, HIGH);
        
      } 
    else
      {
        digitalWrite(8, LOW);
      }
      
    }


    BLYNK_WRITE(V10)
    {
      if (param.asInt() == 0) 
      {
        digitalWrite(9, HIGH);
        
      } 
    else
      {
        digitalWrite(9, LOW);
      }
      
    }

    BLYNK_WRITE(V11)
    {
      if (param.asInt() == 0) 
      {
        digitalWrite(5, HIGH);
        delay(500);
        digitalWrite(7, HIGH);
        delay(500);
        digitalWrite(6, HIGH);
        delay(500);
        digitalWrite(8, HIGH);
        delay(500);
        digitalWrite(9, HIGH);
        delay(2000);
      } 
    else
      {
        digitalWrite(5, LOW);
        delay(500);
        digitalWrite(7, LOW);
        delay(500);
        digitalWrite(6, LOW);
        delay(500);
        digitalWrite(8, LOW);
        delay(500);
        digitalWrite(9, LOW);
        delay(2000);
      }
    }
      BLYNK_WRITE(V12)
    {
      if (param.asInt() == 0) 
      {
        digitalWrite(5, HIGH);
        delay(500);
        digitalWrite(7, HIGH);
        delay(500);
        digitalWrite(6, HIGH);
        delay(500);
        digitalWrite(8, HIGH);
        delay(500);
        digitalWrite(9, HIGH);
        delay(2000);

      } 
    else
      {
        digitalWrite(5, LOW);
        delay(500);
        digitalWrite(7, LOW);
        delay(500);
        digitalWrite(6, LOW);
        delay(500);
        digitalWrite(8, LOW);
        delay(500);
        digitalWrite(9, LOW);
        delay(2000);
      }
      
    }

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

probably because your MCU is sleeping. Code without delay().

but, how to code without delay? i tried without delay and the problem continue

Like this Arduino Playground - HomePage and incorporated into Blynk as BlynkTimer.

Try reading the sensor a lot less frequently.

But what I did not realize is that after a few months it worked and now it has stopped working. I did not even change the code, it was from one moment to the next.

Speed is fine but check the recent “satellite” thread to check you ping times.

Look up DEBUG in the docs and add it to your sketch.

hardware issue then?