Exibir resultados de variaveis no blynk

Before creating the topic

  1. Search forum for similar topics
  2. Check http://docs.blynk.cc and http://help.blynk.cc/
  3. Add details :
    • Hardware model + communication type. For example: Arduino UNO with Ethernet Shield
    • Smartphone OS (iOS or Android) + version
    • Blynk server or local server
    • Blynk Library version
    • Add your sketch code. :point_up:Code should be formatted as example below.

Simply paste your code between ``` If you don’t format your code, your topic can be deleted by moderators.
Estou utilizando uma ESP8266-12E para enviar informacoes do sensor de corrente ACS712-5A.
Neste eu meco corrente, potencia, consumo de energia em R$.

float vetCorrente[300];

void setup()
  pinMode(A0, INPUT);
   void loop()
  float tarifa = 0.56; // tarifa utilizada pela CPFL.
  double maior_Valor = 0;
  double valor_Corrente = 0;  
  float tensao = 127;
  float potencia;
  float consumo;
  float credito = 200;
  float conta_energia;
  float Kwh;
  float saldo;
  unsigned long last_time =0; 
  unsigned long current_time =0;
  for(int i = 0; i < 300; i++)
    vetCorrente[i] = analogRead(A0);
    delay(500);  //1 senoide completa.
  //***************************************Calculo da corrente (sensor ACS 712-5A)********************************************************
  for(int i = 0; i < 300; i++)
    if(maior_Valor < vetCorrente[i])
      maior_Valor = vetCorrente[i];
  maior_Valor = maior_Valor * 0.004882812; //(5/1023) 
  valor_Corrente = maior_Valor - 3.98338220; //OFFSET do sensor, utilizado valor 530 como base.
        if(valor_Corrente < 0){
  valor_Corrente = valor_Corrente * 1000;
  valor_Corrente = valor_Corrente / 185;          //sensibilidade do sensor de 5A. (185mV/A)      
  valor_Corrente = (valor_Corrente / 1.41421356); //Valor eficaz da corrente (Irms).

  potencia = valor_Corrente * tensao;
  last_time = current_time;
  current_time = millis(); 
  //Kwh = potencia * (current_time - last_time)/3600000;

  Kwh = (potencia*tarifa/1000);
  consumo = Kwh;

  //conta_energia += (consumo * tarifa);  // 
  saldo = credito - consumo;

  //Serial.print("Consumo(Kwh) = ");
  Serial.print("Consumo(R$) = ");
  //Serial.print("conta_energia(R$) = ");
  Serial.print("Saldo(R$) = ");

  Serial.print("Corrente = ");
  Serial.println(" A");
  Serial.print("Potencia = ");
  Serial.println(" W");


O que estou com imensas dificuldades, é de “imprimir” os valores de corrente, potencia e outras variaveis no aplicativo BLYNK.

Alguem pode me ajudar?


Your void loop is a problem and is incompatible with Blynk. You should read this:

Then this:


Muito obrigado pela resposta Pete. Mas, quando eu nao insiro meus calculos dentro do VOID LOOP, o programa tambem identifica erros, pois, as variaveis de impressao na serial, não sao reconhecidas. Por isso elas estao dentro dele.
Ja tentei com o Void setup antes dos calculos e depois deles tambem (como estao a maioria de exemplos do blynk) void setup e loop por ultimos, mas todas as tentativas foram sem sucesso.

That’s because you are using local variables rather than global variables. You need to learn more about variable scope.

However, you should not be printing your variables within the void loop anyway. The only things in your void loop should be Blynk.run and timer.run - and possibly a line of code to enable OTA to run if you are using that.

I’d suggest that you re-read the keep your void loop clean document again.


Thanks Pete.

            But, the blynk examples don’t use other values. So, where I use my variables? Before void setup? Befor / After Blynk timer and void myTimerEvent()?

Thanks for your time.

If you research variable scope in C++ you will learn some very useful things.