Aprenda a utilizar o Sensor Vazão de Água com Arduino

Font Size

Fala galera, tudo beleza? 😀

O post de hoje é sobre um sensorzinho bacana, de fácil implementação com Arduino e uma gama de aplicações. O sensor vazão de água 1/2”. Dá pra aplicar ele em áreas como monitoramento de consumo de água, estações meteorológicas, sistema de irrigação – entre outros, legal né?

O sensor vazão de água 1/2” é composto internamente por um conjunto de pás, que ao serem acionadas pelo fluxo d’água, é realizado a leitura (através da porta digital) quantificando à água que passou pelas “pás” em um determinado intervalo de tempo.

É nisso que nosso código foi focado. Como será visto abaixo. (sem spoilers, Iago).

Lembrando que Vazão = Escoamento(L)/Tempo(min) – S.I ou m³/s

Então vamos ao trabalho:

Material de Suporte:

https://www.arduino.cc/en/Reference/AttachInterrupt

Materiais Utilizados:

1 x Sensor Vazão de Água 1/2″;

1 x Arduino Uno;

Jumpers.

Esquema de montagem:

Fio Preto – GND;

Fio Amarelo – Porta Digital (2);

Fio Vermelho – 5V

Obs: No sensor há uma seta indicando, em qual sentido as pás devem girar. Consequentemente, em qual sentido deve ser a entrada e saída de água.

 

Código comentado:

int Pulso; //Variável para a quantidade de pulsos
int j=0; //Variável para contagem
float vazaoagua; //Variável para armazenar o valor em L/min
float valormedia=0; //Variável para tirar a média a cada 1 minuto

void setup()
{ 
Serial.begin(9600);
pinMode(2, INPUT);
attachInterrupt(0, incrpulso, RISING); //Configura a porta digital 2, para interrupção
}


void loop ()
{
Pulso = 0; //Começa do 0 variável para contar os giros das pás internas,ek segundos
sei(); //liga interrupção
delay (2000); //Espera 2 segundos
cli(); //Desliga interrupção

vazaoagua = Pulso / 5.5; //Converte para Litros/minuto
valormedia=valormedia+vazaoagua; //Soma a vazão para o calculo da valormedia
j++;

Serial.print(vazaoagua); //Imprime na serial o valor da vazão
Serial.print(" L/minuto - "); //Imprime L/min
if(j==60)
{
valormedia = valormedia/60; //Tira a valormedia dividindo por 60
Serial.print("\n Media por minuto = "); //Imprime a frase valormedia por minuto =
Serial.print(valormedia); //Imprime o valor da valormedia
Serial.println(" Litros/minutos - "); //Imprime L/min
valormedia = 0; //Torna variável valormedia = 0, para uma nova contagem
j=0; //Torna a variável 0,para uma nova contagem
}

}


void incrpulso ()
{ 
Pulso++;
}

Resultado:

 

Não percam o próximo post – Aprenda a utilizar o  sensor de fogo com Arduino.

Opniões? Dúvidas?Sugestões de projetos?
Deixem nos comentários abaixo!O mais breve responderemos!CYA! ?

Posts relacionados

Atualizando firmware do ESP8266 – Parte 2

por autocore
8 anos ago

Acionando Cargas por Palmas

por Danilo Nogueira
4 anos ago

Conhecendo sobre o NodeMCU ESP32

por Danilo Nogueira
5 anos ago
Sair da versão mobile