water level monitoring using blynk

I am a newbie here and i m on a project of water level monitoring system with bylnk (bluetooth )
and i am stuck with my coding part as the program runs for limited time the no result are showing on the bynk app ..
please help me
this is my program .. please let me know what should i change to get good results

#define BLYNK_PRINT Serial

#include <SoftwareSerial.h>
SoftwareSerial SwSerial(9, 10); // RX, TX

#include <BlynkSimpleSerialBLE.h>
#include <SoftwareSerial.h>
#include <NewPing.h>

#define TRIGGER_PIN 12 // Arduino pin for trigger pin on the ultrasonic sensor.
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

char auth[] = "fcffb5cc69794fcaa59bae58c25d3084";
double distance;//distance given by ultrasonic sensor
double percentage; //percentage calculation according to tank parameters
double litre;
const int tankheight = 17; //height of your tank
int motor = 8;
int maximumRange = 900;
int minimumRange = 1;

SoftwareSerial SerialBLE(9, 10); // RX, TX

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

void setup()
{

Serial.begin(9600);
pinMode(motor,OUTPUT);
SerialBLE.begin(9600);
Blynk.begin(SerialBLE, auth);

Serial.println("Waiting for connections...");

}

void loop()
{
delay(50);

distance = sonar.ping_cm();

if(distance>=3){

percentage = (((tankheight - distance)/tankheight)*100);
}
else { percentage = 100;
}
litre = ((100-percentage)*10);
Blynk.virtualWrite(V11,litre);
Serial.print(distance);
Serial.println("cm");
Serial.print("percentage: ");

Serial.print(percentage);
Serial.println("%");
Blynk.virtualWrite(V9,percentage);
Blynk.run();

if (distance <= 4)
{
digitalWrite(motor,LOW);

}

else if(distance >= 15)
{
digitalWrite(motor,HIGH);

}
}

final_prgram.ino (969 Bytes)