Blynk using Arduino Mega (microcontroller) and esp8266 (wifi module): Blynk.begin not initializing

I need help! Im new to blynk. Im using MEga as my controller and esp8266 nodemcu as WiFi. whenever i add the line Blynk.begin(auth, ssid, pass); everything stops working: it interrups sensor readings and LED control and does not reflect in the blynk, but when i uncomment it my system works but does not still reflect in blynk. could you sample some line of code for me where my yellowled_waste will reflect a display led in my app (V24)?


#include <Blynk.h>
#include <BlynkSimpleEthernet.h>


#define BLYNK_TEMPLATE_ID "TMPL6KhlOC5Xz"
#define BLYNK_TEMPLATE_NAME "Control and Management"
#define BLYNK_AUTH_TOKEN "dpNgcXAqJpgPJEp6jopSP50Y8jwFUDNq"

char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "***";
char pass[] = "****";

const int trigPin = 9;   //Trig - green Jumper
const int echoPin = 10;   //Echo - yellow Jumper
const int trigPin1 = 8;  //Trig - green Jumper
const int echoPin1 = 7;   //Echo - yellow Jumper
long duration, cm, inches;
long duration1, cm1, inches1;

const int relay_pit = 11; 
const int relay_waste = 12;

const int whiteled_waste = 22;
const int yellowled_waste = 24;
const int greenled_waste = 26;
const int redled_waste = 28;
const int buzzer_waste = 30;
  
const int whiteled_treated = 23;
const int yellowled_treated = 25;
const int greenled_treated = 27;
const int redled_treated = 29;
const int buzzer_treated = 31;

const int float_sensor = 6;

const int level_white = 13;
const int level_yellow = 9;
const int level_green = 6;
const int level_red = 3;

const int level_white1 = 9;
const int level_yellow1 = 6;
const int level_green1 = 4;
const int level_red1 = 2;

// constants won't change. Used here to set a pin number:
const int ledPin =  LED_BUILTIN;// the number of the LED pin

// Variables will change:
int ledState = LOW;             // ledState used to set the LED

// Generally, you should use "unsigned long" for variables that hold time
// The value will quickly become too large for an int to store
unsigned long previousMillis = 0;        // will store last time LED was updated

// constants won't change:
const long interval = 1000;           // interval at which to blink (milliseconds)

void setup() {
  //Serial Port begin
  Serial.begin (9600);

  //Define inputs and outputs
  pinMode(ledPin, OUTPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(trigPin1, OUTPUT);
  pinMode(echoPin1, INPUT);
  pinMode(relay_pit, OUTPUT);
  pinMode(relay_waste, OUTPUT);
  pinMode(whiteled_waste, OUTPUT);
  pinMode(yellowled_waste, OUTPUT);
  pinMode(greenled_waste, OUTPUT);
  pinMode(redled_waste, OUTPUT);
  pinMode(buzzer_waste, OUTPUT);
  pinMode(whiteled_treated, OUTPUT);
  pinMode(yellowled_treated, OUTPUT);
  pinMode(greenled_treated, OUTPUT);
  pinMode(redled_treated, OUTPUT);
  pinMode(buzzer_treated, OUTPUT);
  pinMode(float_sensor, INPUT_PULLUP);

  digitalWrite(relay_pit, HIGH);
  digitalWrite(relay_waste, HIGH);
  digitalWrite(whiteled_waste, LOW);
  digitalWrite(yellowled_waste, LOW);
  digitalWrite(greenled_waste, LOW);
  digitalWrite(redled_waste, LOW);
  digitalWrite(buzzer_waste, HIGH);
  digitalWrite(whiteled_treated, LOW);
  digitalWrite(yellowled_treated, LOW);
  digitalWrite(greenled_treated, LOW);
  digitalWrite(redled_treated, LOW);
  digitalWrite(buzzer_treated, HIGH);

  Blynk.begin(auth, ssid, pass);
}

void loop(){
  // Float Sensor Check?
  if (digitalRead(float_sensor) == 0){
    digitalWrite(relay_pit, LOW);
  }else{
    digitalWrite(relay_pit, HIGH);
  }
  
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval) {
    // save the last time you blinked the LED
    previousMillis = currentMillis;

    // if the LED is off turn it on and vice-versa:
    if (ledState == LOW) {
      ledState = HIGH;
    } else {
      ledState = LOW;
    }

    // set the LED with the ledState of the variable:
    digitalWrite(ledPin, ledState);

    // The sensor is triggered by a HIGH pulse of 10 or more microseconds.
    // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
    digitalWrite(trigPin, LOW);
    delayMicroseconds(5);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    // Read the signal from the sensor: a HIGH pulse whose
    // duration is the time (in microseconds) from the sending
    // of the ping to the reception of its echo off of an object.
    pinMode(echoPin, INPUT);
    duration = pulseIn(echoPin, HIGH);
    // convert the time into a distance
    cm = (duration/2) / 29.1;
    inches = (duration/2) / 74;
    
    digitalWrite(trigPin1, LOW);
    delayMicroseconds(5);
    digitalWrite(trigPin1, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin1, LOW);
    // Read the signal from the sensor: a HIGH pulse whose
    // duration is the time (in microseconds) from the sending
    // of the ping to the reception of its echo off of an object.
    pinMode(echoPin1, INPUT);
    
    duration1 = pulseIn(echoPin1, HIGH);
    cm1 = (duration1/2) / 29.1;
    inches1 = (duration1/2) / 74;
    
    Serial.print("sensor1 = ");
    Serial.print(inches);
    Serial.print("in, ");
    Serial.print(cm);
    Serial.println("cm");
  
    Serial.print("sensor2 = ");
    Serial.print(inches1);
    Serial.print("in, ");
    Serial.print(cm1);
    Serial.println("cm");
    
  }
  // Sensor for waste
  if (cm < level_green){
    digitalWrite(redled_waste, HIGH);
    digitalWrite(greenled_waste, LOW);
    digitalWrite(yellowled_waste, LOW);
    digitalWrite(whiteled_waste, LOW);
    digitalWrite(buzzer_waste, LOW);
    digitalWrite(relay_waste, HIGH);
  }
  if ((cm >= level_green) && (cm < level_yellow)){
    digitalWrite(redled_waste, LOW);
    digitalWrite(greenled_waste, HIGH);
    digitalWrite(yellowled_waste, LOW);
    digitalWrite(whiteled_waste, LOW);
    digitalWrite(buzzer_waste, HIGH);
    digitalWrite(relay_waste, LOW);
  }
  if ((cm >= level_yellow) && (cm < level_white)){
    digitalWrite(redled_waste, LOW);
    digitalWrite(greenled_waste, LOW);
    digitalWrite(yellowled_waste, HIGH);
    digitalWrite(whiteled_waste, LOW);
    digitalWrite(buzzer_waste, HIGH);
    digitalWrite(relay_waste, LOW);
  }
  if (cm >= level_white){
    digitalWrite(redled_waste, LOW);
    digitalWrite(greenled_waste, LOW);
    digitalWrite(yellowled_waste, LOW);
    digitalWrite(whiteled_waste, HIGH);
    digitalWrite(buzzer_waste, HIGH);
    digitalWrite(relay_waste, HIGH);
  } 

  // Sensor for treated
  if (cm1 < level_green1){
    digitalWrite(redled_treated, HIGH);
    digitalWrite(greenled_treated, LOW);
    digitalWrite(yellowled_treated, LOW);
    digitalWrite(whiteled_treated, LOW);
    digitalWrite(buzzer_treated, LOW);
    digitalWrite(relay_pit, HIGH);
  }
  if ((cm1 >= level_green1) && (cm1 < level_yellow1)){
    digitalWrite(redled_treated, LOW);
    digitalWrite(greenled_treated, HIGH);
    digitalWrite(yellowled_treated, LOW);
    digitalWrite(whiteled_treated, LOW);
    digitalWrite(buzzer_treated, HIGH);
    digitalWrite(relay_pit, LOW);
  }
  if ((cm1 >= level_yellow1) && (cm1 < level_white1)){
    digitalWrite(redled_treated, LOW);
    digitalWrite(greenled_treated, LOW);
    digitalWrite(yellowled_treated, HIGH);
    digitalWrite(whiteled_treated, LOW);
    digitalWrite(buzzer_treated, HIGH);
    digitalWrite(relay_pit, LOW);
  }
  if (cm1 >= level_white1){
    digitalWrite(redled_treated, LOW);
    digitalWrite(greenled_treated, LOW);
    digitalWrite(yellowled_treated, LOW);
    digitalWrite(whiteled_treated, HIGH);
    digitalWrite(buzzer_treated, HIGH);
    digitalWrite(relay_pit, HIGH);
  } 
Blynk.run();
}


BLYNK_WRITE(V24) {
  int ledState = param.asInt();
  if (ledState == 1 && cm >= level_yellow) {
    digitalWrite(yellowled_waste, HIGH);
  } else {
    digitalWrite(yellowled_waste, LOW);
  }
  }

while this is my code for esp8266:
#define BLYNK_TEMPLATE_ID "TMPL6KhlOC5Xz"
#define BLYNK_TEMPLATE_NAME "Control and Management"
#define BLYNK_AUTH_TOKEN "dpNgcXAqJpgPJEp6jopSP50Y8jwFUDNq"

#include <Blynk.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "****";
char pass[] = "*****";

void setup() {
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
}

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


![Blynk-Console|690x234](upload://kjD8MmxK2n2PLnLvFsgqoORdwc9.png)

@leleleemon Please edit your post, using the pencil icon at the bottom, and add triple backticks at the beginning and end of your code so that it displays correctly.
Triple backticks look like this:
```

Copy and paste these if you can’t find the correct symbol on your keyboard.

Pete.

1 Like

Use of a NodeMCU as a WiFi modem is unusual, but not impossible.
The main thing ids to ensure that it’s running AT firmware. A fresh NodeMCU may be loaded with AT firmware from the factory, but if you’ve ever uploaded a sketch to it then the AT firmware will have been overwritten.

Most people use an ESP-01 rather than a NodeMCU, but the basic principles are the same.

I’d start by considering using an ESP32 instead of the Mega.

If that won’t work for you then read this…

You could also consider Blynk.NCP with your Mega/NodeMCU.

In addition, your code is very badly written and your void loop isn’t compatible with Blynk.
You should read this…

Pete.

thank you for your honest feedback, sir. i created separate functions for my sensor and led. my system is now working again, but the problem is now blynk is not letting me turn my virtual led ON.

#include <Blynk.h>
#include <BlynkSimpleEthernet.h>

#define BLYNK_TEMPLATE_ID "TMPL6KhlOC5Xz"
#define BLYNK_TEMPLATE_NAME "Control and Management"
#define BLYNK_AUTH_TOKEN "dpNgcXAqJpgPJEp6jopSP50Y8jwFUDNq"

char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "HUAWEI-2.4G-u2Z5";
char pass[] = "xRecH24f";

const int trigPin = 9;   
const int echoPin = 10;  
const int trigPin1 = 8;  
const int echoPin1 = 7;  

long duration, cm, inches;
long duration1, cm1, inches1;

const int relay_pit = 11;
const int relay_waste = 12;

const int whiteled_waste = 22;
const int yellowled_waste = 24;
const int greenled_waste = 26;
const int redled_waste = 28;
const int buzzer_waste = 30;

const int whiteled_treated = 23;
const int yellowled_treated = 25;
const int greenled_treated = 27;
const int redled_treated = 29;
const int buzzer_treated = 31;

const int float_sensor = 6;

const int level_white = 13;
const int level_yellow = 9;
const int level_green = 6;
const int level_red = 3;

const int level_white1 = 9;
const int level_yellow1 = 6;
const int level_green1 = 4;
const int level_red1 = 2;

const int ledPin =  LED_BUILTIN;  

int ledState = LOW;

unsigned long previousMillis = 0;

const long interval = 1000;      

void setup() {
  Serial.begin(9600);

  pinMode(ledPin, OUTPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(trigPin1, OUTPUT);
  pinMode(echoPin1, INPUT);
  pinMode(relay_pit, OUTPUT);
  pinMode(relay_waste, OUTPUT);
  pinMode(whiteled_waste, OUTPUT);
  pinMode(yellowled_waste, OUTPUT);
  pinMode(greenled_waste, OUTPUT);
  pinMode(redled_waste, OUTPUT);
  pinMode(buzzer_waste, OUTPUT);
  pinMode(whiteled_treated, OUTPUT);
  pinMode(yellowled_treated, OUTPUT);
  pinMode(greenled_treated, OUTPUT);
  pinMode(redled_treated, OUTPUT);
  pinMode(buzzer_treated, OUTPUT);
  pinMode(float_sensor, INPUT_PULLUP);

  digitalWrite(relay_pit, HIGH);
  digitalWrite(relay_waste, HIGH);
  digitalWrite(whiteled_waste, LOW);
  digitalWrite(yellowled_waste, LOW);
  digitalWrite(greenled_waste, LOW);
  digitalWrite(redled_waste, LOW);
  digitalWrite(buzzer_waste, HIGH);
  digitalWrite(whiteled_treated, LOW);
  digitalWrite(yellowled_treated, LOW);
  digitalWrite(greenled_treated, LOW);
  digitalWrite(redled_treated, LOW);
  digitalWrite(buzzer_treated, HIGH);

  Blynk.config(auth);
}

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

void updateSensorsAndLEDs() {
  if (digitalRead(float_sensor) == 0) {
    digitalWrite(relay_pit, LOW);
  } else {
    digitalWrite(relay_pit, HIGH);
  }

  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;

    if (ledState == LOW) {
      ledState = HIGH;
    } else {
      ledState = LOW;
    }

    digitalWrite(ledPin, ledState);

    digitalWrite(trigPin, LOW);
    delayMicroseconds(5);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);

    pinMode(echoPin, INPUT);
    duration = pulseIn(echoPin, HIGH);
    cm = (duration / 2) / 29.1;
    inches = (duration / 2) / 74;

    digitalWrite(trigPin1, LOW);
    delayMicroseconds(5);
    digitalWrite(trigPin1, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin1, LOW);

    pinMode(echoPin1, INPUT);

    duration1 = pulseIn(echoPin1, HIGH);
    cm1 = (duration1 / 2) / 29.1;
    inches1 = (duration1 / 2) / 74;

    Serial.print("sensor1 = ");
    Serial.print(inches);
    Serial.print("in, ");
    Serial.print(cm);
    Serial.println("cm");

    Serial.print("sensor2 = ");
    Serial.print(inches1);
    Serial.print("in, ");
    Serial.print(cm1);
    Serial.println("cm");
  }
  // Sensor for waste
  if (cm < level_green) {
    digitalWrite(redled_waste, HIGH);
    digitalWrite(greenled_waste, LOW);
    digitalWrite(yellowled_waste, LOW);
    digitalWrite(whiteled_waste, LOW);
    digitalWrite(buzzer_waste, LOW);
    digitalWrite(relay_waste, HIGH);
  }
  if ((cm >= level_green) && (cm < level_yellow)) {
    digitalWrite(redled_waste, LOW);
    digitalWrite(greenled_waste, HIGH);
    digitalWrite(yellowled_waste, LOW);
    digitalWrite(whiteled_waste, LOW);
    digitalWrite(buzzer_waste, HIGH);
    digitalWrite(relay_waste, LOW);
  }
  if ((cm >= level_yellow) && (cm < level_white)) {
    digitalWrite(redled_waste, LOW);
    digitalWrite(greenled_waste, LOW);
    digitalWrite(yellowled_waste, HIGH);
    digitalWrite(whiteled_waste, LOW);
    digitalWrite(buzzer_waste, HIGH);
    digitalWrite(relay_waste, LOW);
    Blynk.virtualWrite(V24, 255);
  }
  if (cm >= level_white) {
    digitalWrite(redled_waste, LOW);
    digitalWrite(greenled_waste, LOW);
    digitalWrite(yellowled_waste, LOW);
    digitalWrite(whiteled_waste, HIGH);
    digitalWrite(buzzer_waste, HIGH);
    digitalWrite(relay_waste, HIGH);
  }

  // Sensor for treated
  if (cm1 < level_green1) {
    digitalWrite(redled_treated, HIGH);
    digitalWrite(greenled_treated, LOW);
    digitalWrite(yellowled_treated, LOW);
    digitalWrite(whiteled_treated, LOW);
    digitalWrite(buzzer_treated, LOW);
    digitalWrite(relay_pit, HIGH);
  }
  if ((cm1 >= level_green1) && (cm1 < level_yellow1)) {
    digitalWrite(redled_treated, LOW);
    digitalWrite(greenled_treated, HIGH);
    digitalWrite(yellowled_treated, LOW);
    digitalWrite(whiteled_treated, LOW);
    digitalWrite(buzzer_treated, HIGH);
    digitalWrite(relay_pit, LOW);
  }
  if ((cm1 >= level_yellow1) && (cm1 < level_white1)) {
    digitalWrite(redled_treated, LOW);
    digitalWrite(greenled_treated, LOW);
    digitalWrite(yellowled_treated, HIGH);
    digitalWrite(whiteled_treated, LOW);
    digitalWrite(buzzer_treated, HIGH);
    digitalWrite(relay_pit, LOW);
  }
  if (cm1 >= level_white1) {
    digitalWrite(redled_treated, LOW);
    digitalWrite(greenled_treated, LOW);
    digitalWrite(yellowled_treated, LOW);
    digitalWrite(whiteled_treated, HIGH);
    digitalWrite(buzzer_treated, HIGH);
    digitalWrite(relay_pit, HIGH);
  }
}

BLYNK_WRITE(V24) {
  int ledState = param.asInt();
  if (ledState == 1 && cm >= level_yellow) {
    digitalWrite(yellowled_waste, HIGH);
    Blynk.virtualWrite(V24, 255); // Turn ON LED display (yLED1) in Blynk app
  } else {
    digitalWrite(yellowled_waste, LOW);
    Blynk.virtualWrite(V24, 0); // Turn OFF LED display (yLED1) in Blynk app
  }
}```

So what hardware are you using now?

Pete.

im using arduino mega where my esp8266 is connected and i have an android tablet to display my controls

But your sketch thinks you’re using an Ethernet shield…

But you’re calling that f7nctiin directly from your void loop, rather than using a BlynkTimer, so your void loop is still incompatible with Blynk.

Pete.

Since im using arduino mega as my main board, it cant read the wifi library because it says it’s supposed to be for esp8266 only.

I’ll try this! :slight_smile: i’ll let you know once i have made it work. thank you so much for the help, i have no one to ask about these stuffs.

I’m guessing that you haven’t bothered to read the “Understanding hardware and software serial ports” tutorial that I linked to earlier?

If you had then you’d know exactly which libraries to use and how to define a WiFi object for that library.

Pete.

hi, i have successfully uploaded my code to my mega, however my sensors stopped working.

here is my code sir

#define BLYNK_TEMPLATE_NAME "Control and Management"
#define BLYNK_AUTH_TOKEN "dpNgcXAqJpgPJEp6jopSP50Y8jwFUDNq"

#include <Blynk.h>

#define BLYNK_PRINT Serial 

#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

char auth[] = BLYNK_AUTH_TOKEN;

char ssid[] = "HUAWEI-2.4G-S9Ug";
char pass[] = "69VeYRRB";

#define ESP8266_BAUD 38400

ESP8266 wifi(&Serial1);

const int trigPin = 9;   
const int echoPin = 10;  
const int trigPin1 = 8;  
const int echoPin1 = 7;  

long duration, cm, inches;
long duration1, cm1, inches1;

const int relay_pit = 11;
const int relay_waste = 12;

const int whiteled_waste = 22;
const int yellowled_waste = 24;
const int greenled_waste = 26;
const int redled_waste = 28;
const int buzzer_waste = 30;

const int whiteled_treated = 23;
const int yellowled_treated = 25;
const int greenled_treated = 27;
const int redled_treated = 29;
const int buzzer_treated = 31;

const int float_sensor = 6;

const int level_white = 13;
const int level_yellow = 9;
const int level_green = 6;
const int level_red = 4;

const int level_white1 = 9;
const int level_yellow1 = 6;
const int level_green1 = 4;
const int level_red1 = 2;

const int ledPin =  LED_BUILTIN;  

int ledState = LOW;

unsigned long previousMillis = 0;

const long interval = 1000;      

void setup() {
  Serial.begin(115200);

  Serial1.begin(ESP8266_BAUD);
  delay(10);

  pinMode(ledPin, OUTPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(trigPin1, OUTPUT);
  pinMode(echoPin1, INPUT);
  pinMode(relay_pit, OUTPUT);
  pinMode(relay_waste, OUTPUT);
  pinMode(whiteled_waste, OUTPUT);
  pinMode(yellowled_waste, OUTPUT);
  pinMode(greenled_waste, OUTPUT);
  pinMode(redled_waste, OUTPUT);
  pinMode(buzzer_waste, OUTPUT);
  pinMode(whiteled_treated, OUTPUT);
  pinMode(yellowled_treated, OUTPUT);
  pinMode(greenled_treated, OUTPUT);
  pinMode(redled_treated, OUTPUT);
  pinMode(buzzer_treated, OUTPUT);
  pinMode(float_sensor, INPUT_PULLUP);

  digitalWrite(relay_pit, HIGH);
  digitalWrite(relay_waste, HIGH);
  digitalWrite(whiteled_waste, LOW);
  digitalWrite(yellowled_waste, LOW);
  digitalWrite(greenled_waste, LOW);
  digitalWrite(redled_waste, LOW);
  digitalWrite(buzzer_waste, HIGH);
  digitalWrite(whiteled_treated, LOW);
  digitalWrite(yellowled_treated, LOW);
  digitalWrite(greenled_treated, LOW);
  digitalWrite(redled_treated, LOW);
  digitalWrite(buzzer_treated, HIGH);

  Blynk.begin(auth, wifi, ssid, pass);
}

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

void updateSensorsAndLEDs() {
  if (digitalRead(float_sensor) == 0) {
    digitalWrite(relay_pit, LOW);
  } else {
    digitalWrite(relay_pit, HIGH);
  }

  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;

    if (ledState == LOW) {
      ledState = HIGH;
    } else {
      ledState = LOW;
    }

    digitalWrite(ledPin, ledState);

    digitalWrite(trigPin, LOW);
    delayMicroseconds(5);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);

    pinMode(echoPin, INPUT);
    duration = pulseIn(echoPin, HIGH);
    cm = (duration / 2) / 29.1;
    inches = (duration / 2) / 74;

    digitalWrite(trigPin1, LOW);
    delayMicroseconds(5);
    digitalWrite(trigPin1, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin1, LOW);

    pinMode(echoPin1, INPUT);

    duration1 = pulseIn(echoPin1, HIGH);
    cm1 = (duration1 / 2) / 29.1;
    inches1 = (duration1 / 2) / 74;

    Serial.print("sensor1 = ");
    Serial.print(inches);
    Serial.print("in, ");
    Serial.print(cm);
    Serial.println("cm");

    Serial.print("sensor2 = ");
    Serial.print(inches1);
    Serial.print("in, ");
    Serial.print(cm1);
    Serial.println("cm");
  }
  // Sensor for waste
  if (cm < level_green) {
    digitalWrite(redled_waste, HIGH);
    digitalWrite(greenled_waste, LOW);
    digitalWrite(yellowled_waste, LOW);
    digitalWrite(whiteled_waste, LOW);
    digitalWrite(buzzer_waste, LOW);
    digitalWrite(relay_waste, HIGH);
  }
  if ((cm >= level_green) && (cm < level_yellow)) {
    digitalWrite(redled_waste, LOW);
    digitalWrite(greenled_waste, HIGH);
    digitalWrite(yellowled_waste, LOW);
    digitalWrite(whiteled_waste, LOW);
    digitalWrite(buzzer_waste, HIGH);
    digitalWrite(relay_waste, LOW);
  }
  if ((cm >= level_yellow) && (cm < level_white)) {
    digitalWrite(redled_waste, LOW);
    digitalWrite(greenled_waste, LOW);
    digitalWrite(yellowled_waste, HIGH);
    digitalWrite(whiteled_waste, LOW);
    digitalWrite(buzzer_waste, HIGH);
    digitalWrite(relay_waste, LOW);
    Blynk.virtualWrite(V24, 255);
  }
  if (cm >= level_white) {
    digitalWrite(redled_waste, LOW);
    digitalWrite(greenled_waste, LOW);
    digitalWrite(yellowled_waste, LOW);
    digitalWrite(whiteled_waste, HIGH);
    digitalWrite(buzzer_waste, HIGH);
    digitalWrite(relay_waste, HIGH);
  }

  // Sensor for treated
  if (cm1 < level_green1) {
    digitalWrite(redled_treated, HIGH);
    digitalWrite(greenled_treated, LOW);
    digitalWrite(yellowled_treated, LOW);
    digitalWrite(whiteled_treated, LOW);
    digitalWrite(buzzer_treated, LOW);
    digitalWrite(relay_pit, HIGH);
  }
  if ((cm1 >= level_green1) && (cm1 < level_yellow1)) {
    digitalWrite(redled_treated, LOW);
    digitalWrite(greenled_treated, HIGH);
    digitalWrite(yellowled_treated, LOW);
    digitalWrite(whiteled_treated, LOW);
    digitalWrite(buzzer_treated, HIGH);
    digitalWrite(relay_pit, LOW);
  }
  if ((cm1 >= level_yellow1) && (cm1 < level_white1)) {
    digitalWrite(redled_treated, LOW);
    digitalWrite(greenled_treated, LOW);
    digitalWrite(yellowled_treated, HIGH);
    digitalWrite(whiteled_treated, LOW);
    digitalWrite(buzzer_treated, HIGH);
    digitalWrite(relay_pit, LOW);
  }
  if (cm1 >= level_white1) {
    digitalWrite(redled_treated, LOW);
    digitalWrite(greenled_treated, LOW);
    digitalWrite(yellowled_treated, LOW);
    digitalWrite(whiteled_treated, HIGH);
    digitalWrite(buzzer_treated, HIGH);
    digitalWrite(relay_pit, HIGH);
  }
}

BLYNK_WRITE(V24) {
  int ledState = param.asInt();
  if (ledState == 1 && cm >= level_yellow) {
    digitalWrite(yellowled_waste, HIGH);
    Blynk.virtualWrite(V24, 255); 
  } else {
    digitalWrite(yellowled_waste, LOW);
    Blynk.virtualWrite(V24, 0); 
  }
}```

Why do you have this in your sketch?…

Why are you calling this from your void loop, rather than using a BlunkTimer….

What are you seeing in your serial monitor?

Pete.