Site icon Blog Usinainfo

Projeto Raspberry Pi 3 com Sensor de Fluxo de Água

Neste Projeto Raspberry Pi 3 com Sensor de Fluxo de Água iremos trazer um conteúdo muito interessante e que pode ser inserido em uma grande variedade de projetos, os quais, vão desde  aplicações voltadas para jardinagem até grandes processos industriais. Aqui, iremos demonstrar os procedimentos necessários para que você possa realizar medições de vazão com o sensor de fluxo YF-S201 juntamente com uma placa Raspberry PI 3 Modelo B.

 


 

Sensor de Fluxo YF-S201

Os sensores de fluxo de água YF-S201 são dispositivos indicados para projetos onde existe presença de líquidos, os quais, por meio de sua manipulação, possam impactar de maneira significativa nos resultados de um determinado processo.

 

Através dos sensores em questão, podemos verificar uma série de informações a partir da medição do fluxo de água em uma determinado tubulação, como por exemplo, o volume de água circulante e consequentemente, o consumo de água de um estabelecimento, entre outros.

Esse sensor possui um sistema de contagem de pulsos, o qual, é constituído de um pequeno imã em uma das pás da hélice contida dentro de sua estrutura, de modo que, quando a água passa pelo sensor, esta faz a hélice girar. Com a hélice em movimento, toda vez que o imã citado passa em por uma determinada posição, o sensor emite um sinal e em contrapartida, fora da mesma, ele não emite o sinal citado. Sendo assim, podemos chegar à conclusão de que cada giro corresponde a uma quantidade fixa de água.

 


 

Componentes utilizados no projeto

Para reproduzir o Projeto Raspberry Pi 3 com Sensor de Fluxo de Água você precisará dos seguintes componentes:

 

Montagem física do hardware

Veja na figura abaixo o hardware que será utilizado para que seja possível utilizar o sensor de fluxo YF-S201 para realizar medições de fluxo de água, através da placa Raspberry Pi 3 modelo B .

Para que fosse possível utilizarmos o sensor em questão em conjunto com a placa Raspberry pi 3 modelo B, foi necessário que elaborássemos um divisor de tensão, pois, os pulsos provenientes da movimentação da hélice são sinais de 5v. Desta maneira, fizemos um divisor de tensão utilizando resistores de 240Ω e 470Ω para o Projeto Raspberry Pi 3 com Sensor de Fluxo de Água.

 


 

Desenvolvimento do código para o Raspberry Pi

Para desenvolver o código citado, iremos abrir o programa IDLE 3, no qual, iremos criar um novo documento e escrever o seguinte código em Python.

 

Acessando o software para desenvolvimento do código

Nesta seção iremos demonstrar o código responsável pela leitura vazão pelo sensor de fluxo YF-S201.
[crayon-673f2b0e2d89e066832296/]
 

Após a finalização do código, basta pressionar F5 para executa-lo.

 


 

Explicação do código 

Nesta seção iremos explicar o funcionamento de todas as linhas do código apresentado anteriormente

Primeiramente, utilizamos a sentença import para importar as biblioteca que serão utilizadas em nosso Projeto Raspberry Pi 3 com Sensor de Fluxo de Água.
[crayon-673f2b0e2d8a8947020141/]

Em seguida, através da sentença GPIO.setmode() determinamos a maneira como vamos nos referenciar aos pinos da placa Raspberry Pi. Ao utilizarmos GPIO.BOARD como parâmetro, devemos nos referenciar aos pinos, no código, pela ordem em que estão anexados na mesma, por exemplo, utilizando o número 12, para o pino 12 (caso tivessemos utilizado como parâmetro a sentença GPIO.BCM, nos referenciaríamos aos pinos da placa através do número que acompanha a sigla GPIO, no caso do pino 12, seria 18, devido ao fato de o pino 12 ser o GPIO 18).

[crayon-673f2b0e2d8a9372593910/]

Posteriormente, definimos o modo de operação dos pinos da placa Raspbarry Pi, de modo que, configuramos o pino 16 como um pino de entrada digital.

[crayon-673f2b0e2d8aa894008808/]

As variáveis criadas neste código servem para manipular a quantidade de pulsos que ocorrem por minuto e relacionar os mesmos com as medidas referentes à movimentação do líquido.

Primeiramente, temos uma variável chamada pulsos_por_minuto, a qual, como o próprio nome já diz, armazena os valores referentes à quantidade de pulsos que ocorreram em um minuto. Da mesma forma, a variável tot_pulsos realiza o armazenamento da quantidade total de pulsos ocorridos. Em seguida, temos a variável minutos, que por sua vez, apresenta o número de minutos nos quais o program está rodando. Ao lado desta, temos a variável tempo_novo, que será utilizada para determinarmos os ciclos de 1 minuto e por fim, a variável constante, que nada mais é do que uma constante de proporcionalidade, que deverá ser determinada empiricamente.

[crayon-673f2b0e2d8ab813345257/]
 

Por fim, criamos um loop infinito através da sentença while (True), de modo que, dentro deste, temos um conjunto de estruturas condicionais if e while. Em um primeiro momento, nos atualizamos a variável tempo_novo com um valor referente a um minuto após o tempo atual, ou seja, fazemos com que a variável em questão armazene uma informação de tempo sobre um instante futuro. Além disso, zeramos a variável pulsos_por_minuto para que, a cada ciclo, possamos ter um novo valor (repare que não ocorre um reset na variável tot_pulsos).

Posteriormente, utilizamos uma estrutura condicional while, de modo que seu conteúdo permanecerá em execução até que o tempo atual ultrapasse o tempo contido na variável tempo_novo (1 minuto à frente do instante de tempo em que o programa começou a ser executado). Durante este ciclo, utilizamos uma estrutura condicional if(), na qual, caso o valor no pino 16 seja diferente de zero, isto é, caso ocorra um pulso, devemos incrementar as variáveis pulsos_por_minuto e tot_pulsos em 1 unidade.

Caso a condição acima não seja satisfeita, quer dizer que o sensor de presença não está detectando nada e como consequência está disponibilizando nível lógico 0 no pino 12 e portanto, o relé deve ser desligado através da sentença GPIO.output(12,1), que por sua vez, coloca nível lógico alto no terminal do mesmo.

Por fim, imprimimos os valores encontrados em cada ciclo, ambos com duas casas decimais.

[crayon-673f2b0e2d8ad281392882/]
 


 

Considerações Finais

Este Projeto Raspberry Pi 3 com Sensor de Fluxo de Água foi mais um conteúdo que preparamos com bastante cuidado para você. Esperamos que tenha gostado deste post e lembre-se de deixar suas dúvidas, críticas e sugestões nos comentários abaixo.

Conheça toda Linha Arduino e Acessórios do Site da UsinaInfo.

Sair da versão mobile