Boa tarde
estou tentando utilizando um sensor de vazão G 3/4 e gostaria de usar a função millis ao inves da função delay. coloquei este code mas ele trava. Alguem poderia me dar uma luz?
float vazao = 0; //Variável para armazenar o valor em L/min
unsigned long contaPulso; //Variável para a quantidade de pulsos
int enable = 1; //Variável para contagem
unsigned long time = 1000;
void setup()
{
Serial.begin(9600); //Inicia a serial com um baud rate de 9600
pinMode(2, INPUT);
attachInterrupt(0, incpulso, RISING); //Configura o pino 2(Interrupção 0) para trabalhar como interrupção
}
void loop ()
{
if (enable == 1);
{
contaPulso = 0;
sei();
enable = 0;
}
if (millis() > time);
{
cli();
time = millis() + 1000;
enable =1;
vazao = contaPulso / 5.5; //Converte para L/min
Serial.print(vazao); //Imprime na serial o valor da vazão
Serial.println(" L/min "); //Imprime L/min
}
}
void incpulso ()
{
contaPulso++; //Incrementa a variável de contagem dos pulsos
}
Tags:
Oi JW, boa tarde.
Um problema que vi no seu code , é aquele ponto e virgula depois dos if
if (millis() > time); -------- Ele é indevido.
Mas o seu code pode ser bem mais simples.
Veja este code: http://pastebin.com/Ft3kRiFq
Rui
Grande Rui, Show de bola!!! Funcionou certinho. Agora vou tentar jogar no sketch modbus. Ja estou monitorando o consumo eletrico da minha casa e agora vou incluir este para monitorar o consumo de agua. Muito Obrigado.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por