I am trying to calculate distance using Ultrasonic Sensor in Proteus and send it to Blynk. I am using Arduino Mega. The connection is using emulator port. ( no physical component). I can see that calculating distance and connecting to Blynk work well. But when these two combined, it does not show anything.
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <Blynk.h>
#include <BlynkSimpleStream.h>
BlynkTimer timer;
const int trigPin = 22; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 23; // Echo Pin of Ultrasonic Sensor
long duration, distance;
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "kZBRrdCPjMlV3VPg4W-Ko57XcE0xK-eS";
BLYNK_WRITE(V1)
{
int pinValue = param.asInt();
Blynk.virtualWrite(V1,distance);// virtualpin 1 distance
}
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, Serial);
timer.setInterval(1000, MeasureCm); //the function dataprocess run every sec
pinMode(trigPin, OUTPUT); // initialising pin 22 as output
pinMode(echoPin, INPUT); // initialising pin 23 as input
}
void MeasureCm()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
//Calculate the distance (in cm) based on the speed of sound.
distance = duration/58.2;
Serial.print("Distance: ");
Serial.println(distance);
delay(200);
}
void loop()
{
Blynk.run();
timer.run();
}