Error while trying to create a timer

Hello everyone. I´m new to Blynk and I´m trying to create a program that will work as an automated irrigation system using Blynk´s Automations feature. While trying to create the timer in order to avoid filling the void loop with functions as I read in Blynk documentation I used the example code that they showed there but I´m getting and error: Compilation error: ‘sensorDataSend’ was not declared in this scope. I´m confused with where I should declare it since the example doesn´t show anything like that


#define BLYNK_TEMPLATE_ID ""
#define BLYNK_TEMPLATE_NAME ""
#include <BlynkSimpleEsp32.h>


//Se incluye librería para el WiFi
#include <WiFi.h>

//Se define el código de Blynk
char auth[] ="";

//Se definen nombre de red y contraseña a la que se va a conectar el controlador
const char* ssid = "";
const char* pass = "";

//Se inicializa el temporizador
BlynkTimer timer;

//Se conectan los sensores a los pines 36, 39, 34 y 35
int sensor1 = 36;
int sensor2 = 39;
int sensor3 = 34;
int sensor4 = 35;

//Se conectan los relé a los pines 23, 22, 21 y 19
int led1 = 23;
int led2 = 22;
int led3 = 21;
int led4 = 19;

//Se establecen las condiciones para que los leds se enciendan o apaguen
BLYNK_WRITE(V4)
 {
 if(param.asInt()==1)
  {
     digitalWrite(led1, HIGH);
  }
  else
  {
     digitalWrite(led1, LOW);
  }
 }

 BLYNK_WRITE(V5)
 {
 if(param.asInt()==1)
  {
     digitalWrite(led2, HIGH);
  }
  else
  {
     digitalWrite(led2, LOW);
  }
 }

 BLYNK_WRITE(V6)
 {
 if(param.asInt()==1)
  {
     digitalWrite(led3, HIGH);
  }
  else
  {
     digitalWrite(led3, LOW);
  }
 }

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

void setup() {

//Hacer que el temporizador corra cada segundo
timer.setInterval(1000L, sensorDataSend);

  Serial.begin(115200);

  //Se inicia la conexión a la red WiFi definida
  WiFi.begin(ssid, pass);
  //delay(2000);

  //Mostrar asteriscos mientras se realiza la conexión
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print("*");
  }

  //Se anuncia cuando ya se haya conectado a la red WiFi y se muestra la dirección IP 
  Serial.println("");
  Serial.println("Se ha conectado a la red WiFi");
  Serial.println("Dirección IP: ");
  Serial.println(WiFi.localIP());

  //Se inicia la conexión a la nube
  Blynk.begin(auth, ssid, pass);

  // Se establecen los sensores como entrada
  pinMode(sensor1, INPUT);
  pinMode(sensor2, INPUT);
  pinMode(sensor3, INPUT);
  pinMode(sensor4, INPUT);

  //Se establecen los relé como salida
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
}

//Se crea la función para enviar datos hacia la plataforma
void sensorDataSend{ 

//Se lee la información del sensor 1 y se envía hacia el pin virtual "V0"
int humedad1=analogread(sensor1);
int porcentaje1 = map(humedad1, 3200, 1600, 0, 100);
Blynk.virtualWrite(V0,porcentaje1); 

//Se lee la información del sensor 2 y se envía hacia el pin virtual "V1"
int humedad2=analogread(sensor2);
int porcentaje2 = map(humedad2, 3200, 1600, 0, 100);
Blynk.virtualWrite(V1,porcentaje2); 

//Se lee la información del sensor 3 y se envía hacia el pin virtual "V2"
int humedad3=analogread(sensor3);
int porcentaje3 = map(humedad3, 3200, 1600, 0, 100);
Blynk.virtualWrite(V2,porcentaje3); 

//Se lee la información del sensor 4 y se envía hacia el pin virtual "V3"
int humedad4=analogread(sensor4);
int porcentaje4 = map(sensor4, 3200, 1600, 0, 100);
Blynk.virtualWrite(V3,porcentaje4);
} 


void loop() {

Blynk.run();
timer.run();

}

This should be…

void sensorDataSend(){

Pete.

1 Like