1
resposta

Criando um contador de pulso

Preciso que o Node-red registre em tempo real a quantidade de pulsos. posso saber aonde estou errando?

//Programa: Modulo ESP32 Wifi com MQTT
//Autor: Arduino e Cia

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

const char* ssid = "ALVARENGA-ADMINISTRATIVO";    
const char* password =  "xxxxxxxx";  
const char* mqttServer = "loudmqtt.com";  
const char* mqttUser = xxxxxxx";           
const char* mqttPassword = "qxxxxxxxu";     
const int mqttPort = 18451; 

WiFiClient espClient;
PubSubClient client(espClient);


const int entrada = D2;
int pulso = 0; 
int var = 0;

int contador = 1;
char mensagem[30];



void setup()
{

  pinMode(entrada, INPUT);


  Serial.begin(115200);
  WiFi.begin(ssid, password);


while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.println("Iniciando conexao com a rede WiFi..");
  }

  Serial.println("Conectado na rede WiFi!");
}



void loop()
{


  if(digitalRead(entrada) > var)
  {
    var = 1;
    pulso++;

  reconectabroker();
  sprintf(mensagem, "Contando - Litros no. %d", pulso);


  client.publish("sensorPulso", mensagem);
  Serial.println("Mensagem enviada com sucesso...");
   delay(1);
}
}


void reconectabroker()

{
  //Conexao ao broker MQTT
  client.setServer(mqttServer, mqttPort);
  while (!client.connected())
  {
    Serial.println("Conectando ao broker MQTT...");
    if (client.connect("ESP32Client", mqttUser, mqttPassword ))
    {
      Serial.println("Conectado ao broker!");
    }
    else
    {
      Serial.print("Falha na conexao ao broker - Estado: ");
      Serial.print(client.state());
      delay(2000);
    }
  }
}
1 resposta

Oi Willians, como vai?

Sinto muito pela demora em obter um retorno.

Você não consegue subir esse código para placa? Ou está tendo um comportamento diferente do esperado? Poderia especificar melhor?

Fico no aguardo.