O ESP32 Projeto com Sensor de Fluxo é um sistema de verificação desenvolvido com o intuito de analisar o fluxo de água em um determinado local em específico e possibilitar a sua verificação através de uma conexão WiFi entre o seu celular e o ESP32, por exemplo.
A fácil visualização dos dados proporciona além de tudo um melhor controle do consumo de água em residências e indústrias, evitando gastos excessivos e nos policiando cotidianamente quanto a nossa utilização deste bem tão precioso que é a água.
Além de podermos visualizar os dados através da tela de smartphones, também é possível abrir junto ao computador um arquivo .txt criado junto ao micro cartão SD incluso no projeto, o qual salva os dados e evita que estes precisam ser salvos na EEPROM.
ESP32 NodeMCU
O ESP32 é um Microcontrolador cada vez mais presente na maioria dos projetos e que se diferencia dos tradicionais Arduinos principalmente na sua tensão de nível lógico, já que seu nível lógico é de 3,3V e não 5V como no Arduino.
Como a maioria dos sensores são produzidos para funcionar com tensões de 5V, muitas vezes é necessária a inclusão de um divisor de tensão ou de um Conversor de Nível Lógico para o perfeito funcionamento do projeto.
Podendo conectar-se com outros dispositivos tanto através de uma rede sem fio WiFi quanto através do Bluetooth, o ESP32 é um produto que expande bastante a sua capacidade de aplicação nos mais diversificados projetos.
O ESP32 é o chip base que controla o funcionamento do módulo NodeMCU, uma placa responsável pela expansão dos pinos de saída através das barras de pino, uma conexão direta junto ao computador via cabo através do conector Micro USB e possibilidade de alimentações superiores aos 3,3V padrão através de reguladores de tensão.
Existe diferença entre o ESP32 e o ESP32 Nodemcu?
Sim, esta diferença é simples de explicar, o ESP32 é o chip controlador que possibilita as comunicações sem fio e comutação de dados enquanto que o ESP32 Nodemcu é o módulo que se baseia neste chip controlador e agrega algumas funções a mais citadas anteriormente.
ESP32 Projeto – Sensor de Fluxo de Água
O sensor de Fluxo de Água com Arduino é um produto bastante utilizado nas mais diversas aplicações de sistemas de monitoramento para controle de gastos, por exemplo, e pode ser empregado tanto em ambientes industriais quanto residenciais.
Maiores informações sobre o funcionamento do sensor de fluxo de água você encontra no artigo que segue abaixo:
Sensor de Fluxo de Água Arduino como Sensor de Vazão para Projetos
Normalmente, o Sensor de Fluxo de Água possui especificações de uso próximas aos 5V, porém para a realização deste projeto verificamos a fundo o seu sistema de funcionamento e através da necessidade de utilizar um nível lógico de 3,3V descobrimos que ele é compatível também com tensões menores de 4,5V.
Ao estudar a fundo o sistema de funcionamento do Sensor de Efeito Hall, verificou-se a sua alimentação poderia trabalhar com tensões de aproximadamente 3V, o que possibilitaria trabalharmos com o sensor de Fluxo de água através dos 3,3V necessários para leitura do ESP32.
Após submeter ambos os produtos a um teste de funcionamento verificou-se a possibilidade de realizar tal procedimento.
ESP32 Projeto – Módulo Relógio Tempo Real RTC DS1307
Utilizado como ferramenta para verificação de dados referente à data e o horário, o Módulo RTC proporciona ao seu projeto uma estabilidade de informações quanto a estas duas variáveis. Maiores informações quanto a utilização do Módulo RTC DS1307 você encontra no Artigo abaixo:
Módulo RTC DS1307 com Display 16×2 I2C – Relógio Arduino com Despertador
Como já expresso anteriormente, a necessidade de utilizar 5V de alguns produtos é inegável e nestes casos ao utilizá-los no ESP32 é necessária a inclusão de um conversor. Ao utilizarmos o Módulo RTC DS1307, porém nos deparamos com uma característica diferenciada própria da comunicação I2C que é a sua capacidade de trabalho com tensões também de 3,3V.
Desta maneira, podemos utilizar o Módulo RTC diretamente no ESP32 sem problema, porém mesmo que o sinal lógico fique nos 3,3V do ESP, a alimentação do módulo ainda deve ser feita através dos 5V do Microcontrolador, obtidos através da porta Vin.
ESP32 Projeto – Mini SD Card Arduino para Cartão Micro SD
O módulo Mini SD Card é o responsável pela leitura do cartão SD, produto o qual armazenará as informações do projeto, as datas e fluxo total por dia, tudo isto através de um Arquivo txt.
Diferente dos demais componentes elencados anteriormente, o Módulo Leitor de Cartão Micro SD possui uma alimentação e um nível lógico estabilizado nos 3,3V, sendo desenvolvido para uso específico em microcontroladores com esta tensão de comunicação e funcionamento.
Pinos do Mini SD Card
A conexão e a pinagem do Módulo para Cartão Micro SD é bastante simples e conta com apenas 6 conexões, das quais duas são para a alimentação de 3,3V. Veja um pouco mais sobre os pinos que constituem este produto:
3,3V – Fornece energia ao módulo e deve ser conectado ao pino 3,3V no ESP.
CS – O Pino CS (Slave Select) é utilizado pelo ESP32 para ativar e desativar dispositivos específicos junto ao barramento SPI.
MOSI – O pino MOSI (Master Out Slave In) é o pino de entrada SPI do Mini SD Card.
CLK – O Serial Clock é utilizado para sincronizar a transmissão de dados entre o ESP e o Módulo através dos pulsos de clock.
MISO – O pino MISO (Master In Slave Out) é o pino de saída SPI do Mini SD Card.
GND – Deve ser conectado ao terra do ESP.
Preparando o Cartão Micro SD
Antes de utilizarmos o Cartão Micro SD e inseri-lo no Módulo para comunicação junto ao ESP é necessário realizar a formatação do mesmo para os formatos FAT16 ou FAT32.
Caso tenha comprado um cartão SD recentemente é possível que este já esteja pré-formatado com um sistema de arquivo FAT, porém é recomendado que se faça a formatação assim mesmo, até se existir um cartão antigo que já esteja neste formato.
Para realizar a formatação do Cartão, recomenda-se a utilização do aplicativo oficial da Associação SD, disponível para Download AQUI.
Após formatar o cartão SD precisamos criar um arquivo txt para salvar os dados lidos pelo Sensor de Fluxo de Água e para ser aberto através do software para isto. Caso optássemos por criar um arquivo via código sempre que reiniciasse o sistema seria criado outro arquivo e consequentemente sobreposto.
Como criar um arquivo txt?
Para criar um arquivo txt, vamos entrar na pasta do cartão SD e ao clicarmos com o botão direito em qualquer lugar dentro da pasta iremos até o item Novo e ao lado em Documento de Texto como mostra na imagem abaixo.
Após isto e com o arquivo criado vamos alterar este para o mesmo nome citado no código Arduino, que no nosso caso é o seguinte:
Com todos estes passos prontos, partimos para o desenvolvimento elétrico e posteriormente ao desenvolvimento do software do ESP32 Projeto com Sensor de Fluxo.
Produtos Utilizados no ESP32 Projeto Sensor de Fluxo
– NodeMCU ESP32 Iot com WiFi e Bluetooth – 38 Pinos;
– Sensor de Fluxo de Água G 1/2 1-30 l/min;
– Módulo Relógio Tempo Real RTC – DS1307;
– Mini SD Card Arduino / Mini Leitor Micro SD Card;
– Protoboard 830 pontos para montagem de projetos;
– Jumpers.
Esquema de Ligação do ESP32 Projeto com Sensor de Fluxo
O esquema de ligação do ESP32 Projeto com Sensor de Fluxo conta com a inclusão de um Mini SD Card e de um Módulo RTC. Lembrando que para a utilização do Mini SD Card é necessário também a inclusão de um Micro Cartão SD junto ao mesmo.
Vale diferenciar apenas a alimentação do Módulo RTC que deve ser feita através do pino 5V e os pinos de ambos os módulos que devem ser feitas nos específicos pinos de comunicação.
Com o esquema de ligação montado, chegou a hora de programarmos o ESP32 com o código desenvolvido abaixo.
Código de Funcionamento do ESP32 Projeto com Sensor de Fluxo
O código de funcionamento do ESP32 Projeto com Sensor de Fluxo foi projeto para realizar a verificação em tempo real do fluxo de líquidos e enviá-los via sistema WiFi para a tela do celular.
Com um sistema de funcionamento continuado e através do Módulo RTC, sempre chegar às 23:59:59 o valor total de água que passou pelo Sensor será gravado no Arquivo txt e será reinicializada a contagem.
Além de salvar os valores no cartão de memória, o valor total consumido por dia também será exibido na tela do dispositivo WiFi conectado. Porém vale ter cuidado com um detalhe, sempre que o ESP32 se reinicializar, os valores obtidos pela leitura do Sensor de Fluxo do dia em questão serão zerados.
O código completo do ESP32 Projeto com Sensor de Fluxo você encontra abaixo:
[crayon-6742461dddf4e085444403/]
Com o código acima, conseguimos então, realizar a leitura dos dados referentes ao sensor de fluxo e visualizá-los através de um IP junto ao Navegador. Para descobrirmos qual o IP específico iremos digitar no navegador seguiremos os seguintes passos:
Após conectar o ESP32 ao computador e gravarmos o código, iremos abrir o monitor serial e verificar que este estará exibindo valores dos litros por segundo que passam pelo sistema naquele exato momento, normalmente serão valores zerados.
Após, é necessário realizar um reset no ESP32 através do botão EN localizado em sua parte superior, por vezes irá aparecer o seguinte erro:
[crayon-6742461dddf5c487097175/]
Este é um erro de inicialização devido ao alto fluxo de dados, porém pode ser resolvido dando reset novamente junto ao ESP32 NodeMCU, com o êxito deste passo poderemos visualizar as seguinte informações:
Nesta tela podemos observar circulado o IP e o local o qual pode-se observá-lo. Com este link, iremos abrir o navegador e digitar no local de acesso do mesmo. Ao acessar o IP já teremos o retorno de fluxo total de líquidos que circulou no Sensor de Fluxo de Água desde a inicialização, veja um print da tela do navegador:
Agora basta ficar de olho nos dados e verificar o consumo de líquidos de sua residência em tempo real.
Conclusão
O ESP32 Projeto com Sensor de Fluxo é uma excelente solução para quem deseja monitorar a quantidade de água que se gasta em sua residência ou empresa diretamente do seu smartphone ou computador, evitando problemas de vazamento, gastos excessivos ou até mesmo a falta de água em sistemas hidráulicos.
Através do presente projetos muitas ações podem ser desenvolvidas, pode-se incluir uma relé para acionamento e desligamento de válvulas solenoides assim como também é possível acionar sistemas secundários de fornecimento de água caso esta acabe.
Não esqueça de deixar o seu comentário abaixo com as experiências obtidas no desenvolvimento deste projeto, suas dificuldades e melhorias desenvolvidas.