Hello Everybody,
I need your help on my project.
I want to call BLYNK_WRITE(V0) on next void hcsr04 (). it gives an error.
#define BLYNK_FIRMWARE_VERSION "0.1.0"
#define BLYNK_PRINT Serial
//#define BLYNK_DEBUG
#define APP_DEBUG
// Uncomment your board, or configure a custom board in Settings.h
//#define USE_WROVER_BOARD
#include "BlynkEdgent.h"
#include <ESP32Servo.h>
#include <HCSR04.h>
const byte triggerPin = 13;
const byte echoPin = 12;
UltraSonicDistanceSensor distanceSensor(triggerPin, echoPin);
Servo servo;
int led1=19;
int led2=22;
int led3=23;
int myServo=5;
float distance;
int pinValue;
BLYNK_WRITE(V0) {
int pinValue = param.asInt();
digitalWrite(led1,pinValue);
if (pinValue == 1) {
Serial.println("DEVICE ON");
}
else {
Serial.println("DEVICE OFF");
}
}
void hcsr04() {
float distance = distanceSensor.measureDistanceCm();
Serial.println(distance);
Blynk.virtualWrite(V2, distance);
int pinValue=BLYNK_WRITE(V0); //START IF DEVICE is ON, GET VALUE FROM V0
if (pinValue == 1) {
Serial.println("ON");
if (distance<200) {
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
}
else {
digitalWrite(led3, HIGH);
digitalWrite(led2, LOW);
}
}
else {
Serial.println("OFF");
}
}
void setup()
{
Serial.begin(115200);
delay(100);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
servo.attach(myServo);
BlynkEdgent.begin();
timer.setInterval(500L,hs04);
}
void loop() {
BlynkEdgent.run();
timer.run();
}