Sensor de Nível de Água com Arduino – Automação Residencial de Controle

O Sensor de Nível de Água possibilita aos projetos integrados, controlar o nível de água nos mais diversificados reservatórios. Como os reservatórios estão comumente instalados em locais altos e de difícil acesso fica complicado controlar sua quantidade de água. Nestes casos o Sensor de Nível torna-se indispensável para facilitar e proporcionar melhores experiências à quem utiliza desta estrutura.

Exemplo de Reservatório de Água Elevado

Exemplo de Reservatório de Água Elevado

A quantidade de água em reservatórios trás consigo algumas informações valiosas que nos auxiliam na resolução de problemas e prevenções. Através desta quantidade podemos determinar o melhor momento para reabastecimento e pode nos estabelecer um melhor controle de gastos.

O Sensor de Nível de Água verifica apenas um determinado ponto ou nível dos reservatórios aos quais está instalado. O que obriga-nos como projetistas utilizar mais de uma unidade do mesmo para uma verificação de qualidade e maior exatidão. Porém para quem deseja um controle apenas de cheio e vazio, a utilização de dois sensores já é o suficiente.

 

Sensor De Nível De Água Com Boia Horizontal

O sensor de nível de água é um equipamento com diversos modelos, todos com suas especificações e características próprias. A principal diferença está em seu método de verificação com boia que pode ser tanto horizontal quanto vertical. Tendo em vista o local de instalação e seu funcionamento neste projeto, optamos pelo Sensor de Nível com Boia Horizontal.

Sensor de Nível de Água com Boia Horizontal

Sensor de Nível de Água com Boia Horizontal

O funcionamento deste equipamento é extremamente simples uma vez que conta com apenas dois fios para sua comunicação e acionamento. O sinal para detecção junto ao Arduino é gerado através de um Reed Switch e um imã, um instalado na base e outro na boia.

Sempre que o imã localizado na boia aproxima-se do reed switch, o mesmo gera um sinal através do contato estabelecido. Este contato faz com que a alimentação introduzida em uma das extremidades do fio circule até a oura.

Exemplo de funcionamento do Sensor de Nível com Boia Horizontal

Exemplo de funcionamento do Sensor de Nível com Boia Horizontal

O sensor é extremamente simples e pode ser utilizado em diversos projetos, incluindo aplicações sem a necessidade de um Arduino. Já que possui uma tensão de chaveamento de 100V, pode ser utilizado em projetos com alimentações superiores às do Arduino.

 

Produtos Utilizados no Projeto

– 5 Sensores de Nível de Água com Boia Horizontal;

– 1 Arduino UNO + Cabo USB;

– 5 Resistores 10K ¼W;

Protoboard e Jumpers;

Display LCD 16×2 com fundo azul;

Módulo Adaptador I2C (IIC).

 

Esquema de Ligação do Sensor de Nível de Água sem Display

O esquema de ligação deste projeto é tão simples quanto o funcionamento do Sensor de Nível de Água. O que dificulta a ligação é a utilização de cinco sensores de nível e a necessidade de resistores Pull Down. Os resistores são responsáveis por evitar a oscilação do sinal de nível lógico estabelecendo um nível LOW como padrão.

Esquema de ligação com Arduino e Sensor de Nível de Água com Boia

Esquema de ligação com Arduino e Sensor de Nível de Água com Boia

O esquema de ligação segue um sequencial que auxilia no desenvolvimento do código e na compreensão do projeto. É fundamental que os sensores estejam posicionados em uma sequência específica que possibilite a verificação do nível da água. Para quem prefere, segue o esquema elétrico dos sensores de nível do projeto:

Esquema Elétrico de Ligação do Sensor de Nível de Água tipo Boia

Esquema Elétrico de Ligação do Sensor de Nível de Água tipo Boia

Com isto, podemos desenvolvermos a conexão elétrica do nosso projeto, porém algumas informações valem ser elencadas quanto ao esquema elétrico. Os elementos S (1, 2, 3, 4 e 5) representam o Reed Switch de cada sensor de nível de água. Enquanto que os elementos R (1, 2, 3,4 e 5) representam os resistores Pull Down de 10K.

 

Código de Funcionamento do Sensor de Nível de Água

O código do Sensor de Nível para Caixa D’Água é extremamente simples, porém limita nossas visualizações apenas ao Monitor Serial. Desta maneira necessitamos de um computador sempre por perto para realizar as verificações e impôs um limite aos nossos trabalhos. Segue o Código:

O código está pronto, porém por depender de um computar torna-se inviável para uso contínuo, é um código para teste. Para quem deseja um projeto ainda mais acabado, com display, continue lendo que vamos desenvolver agora.

 

Esquema de Ligação do Sensor de Nível de Água com Display

Com a adição de um display ao projeto elevamos a sua utilização e melhoramos a qualidade do nosso projeto. Tornando possível a instalação em locais mais distantes, o display pode ser instalado no local onde melhor tiver visualização.

Quanto ao display, tendo em vista a utilização elevada de pinos para os sensores, optou-se por utilizar um conversor I2C. A comunicação I2C possibilita o envio de dados por apenas dois pinos analógicos e simplifica bastante a nossa conexão.

Para maiores detalhes quanto a Utilização de Displays I2C e sua biblioteca principal, CLIQUE AQUI e acesse nosso artigo relacionado.

O presente esquema de ligação difere-se do demonstrado anteriormente apenas pela adição de um Display 16×2 com Conversor I2C. Com exceção do display, os de mais detalhes da ligação são os mesmos. Veja abaixo o esquema de ligação do Sensor de Nível para Reservatório D’Água com Display:

Esquema de ligação do Sensor de Nível com Display e Conversor I2C

Esquema de ligação do Sensor de Nível com Display e Conversor I2C

Assim como no esquema de ligação o código é também bastante simplificado com poucas alterações. Veja no transcorrer deste artigo o código base para funcionamento do referente projeto.

 

Código de Funcionamento do Sensor de Nível de Água com Display

Com alterações no modo de exibição das mensagens e na inclusão de variáveis referentes ao display, o código é de fácil compreensão e modificação. O único diferencial deste código é a inclusão de duas bibliotecas, uma já presente na pasta Arduino e outra que precisa ser adicionada. Segue código completo com todas as funções prontas para uso.

Este modelo de ligação e código possibilitam a instalação do projeto em diversos locais sem a necessidade direta de um computador para visualização de dados, uma vez que estão estarão sendo exibidos diretamente através do display LCD.

 

Conclusão

O projeto é extremamente simples e sua funcionalidade extremamente grande, seu funcionamento é básico, mas impressiona. Uma das maiores dificuldades para quem deseja desenvolvê-lo refere-se à sua instalação e métodos de fixação. Para auxiliar no projeto, desenvolvemos uma barra de MDF, uma opção temporária que poderia ser substituída por Acrílico, por exemplo.

As ideias e as possibilidades para utilização junto deste projeto são bastante diversas, a criatividade é a base para um projeto de sucesso. Ponha em prática o que aprendeu, desenvolva suas respectivas melhoras, complete o projeto como entender. Só não se esqueça de compartilhar suas experiências e dúvidas conosco através dos comentários.

Categorias
Arduino

Mecânico de Manutenção com Experiência em Sistemas Embarcados, Automação e Desenvolvimento de Projetos; Graduado nos Cursos de Matemática - URI e Física - UFFS.
33 Número de Comentários
  • Carlos silveira
    6 agosto 2019 at 17:32
    Deixe seu Comentário

    Muito bom o artigo parabéns.

    • Roberto Lourenço
      12 agosto 2019 at 09:13
      Deixe seu Comentário

      Olá Parabéns muito bem feito este projecto, só não consegui perceber uma parte, estou a fazer o projecto com display, e no Esquema de ligação do Sensor de Nível com Display e Conversor I2C, podia me mandar uma imagem aonde o display é ligado, deixo o meu email rpml.agricultura@gmail.com, obrigado.

    • Israel Sales da Silva
      10 junho 2020 at 23:04
      Deixe seu Comentário

      Olá, com este sistema é possível eu por no meu poço artesiano? 16
      60 metros distância do poço até a onde será o quadro. Estou criando um quadro elétrico com proteção e direcionamento para a bomba e gostaria de criar um sistema deste para informar quantos litros tem no meu poço e na minha caixa de água. É possível fazer para este uso? Caso que seja, mudará alguma coisa no projeto?

      • Matheus Gebert Straub
        16 junho 2020 at 10:58
        Deixe seu Comentário

        Bom Dia ! A princípio, desde que sejam desenvolvidos métodos adequados de fixação não teria problema, o problema é realmente a distância do sensor até o quadro de controle. Módulos e sensores normalmente são desenvolvidos para serem instalados o mais próximo possível de dispositivos de controle, além de que este produto utilizado no projeto possui um limite máximo de corrente de 0,5A e interferências internas podem influenciar na leitura.

  • italo
    13 agosto 2019 at 23:00
    Deixe seu Comentário

    parabens, você está me ajudando bastante em meus projetos!!

    • Matheus Gebert Straub
      14 agosto 2019 at 13:59
      Deixe seu Comentário

      Muito obrigado Italo!
      Fico feliz em saber que gostou do meu trabalho.

      • Leandro
        24 agosto 2019 at 18:06
        Deixe seu Comentário

        Consigo realizar o projeto com Arduino mega ?

        • Matheus Gebert Straub
          5 setembro 2019 at 16:06
          Deixe seu Comentário

          Boa tarde Leandro!
          Sim, este projeto pode ser desenvolvido também através de um Arduino Mega, vale verificar apenas os pinos se irá utilizar os mesmos e caso opte por realizar alguma alteração lembre-se de também alterar o código do projeto.

  • sports books play
    8 setembro 2019 at 20:20
    Deixe seu Comentário

    My brother suggested I would possibly like this blog.
    He was once totally right. This submit truly made my day.
    You cann’t imagine just how so much time I had spent for this information! Thank you!

    • Matheus Gebert Straub
      13 setembro 2019 at 16:46
      Deixe seu Comentário

      Boa tarde!
      Fico feliz em saber que o projeto lhe foi útil, continue de olho em nosso blog, sempre que possível estamos adicionando novos projetos.

  • ELVIS REGINALDO
    3 outubro 2019 at 12:30
    Deixe seu Comentário

    Oi Matheus meu nome É ELVIS gostaria de um projeto com mais 2 sensores e adcionar uma bomba dagua para ligar no nível baixo, com visor de led ou lcd. vc pode me dar uma força ? ou voce cobra um valor? elvisreginaldo@hotmail.com

    • Equipe Usinainfo
      15 outubro 2019 at 14:29
      Deixe seu Comentário

      Boa Tarde Elvis!
      Infelizmente não trabalho com o desenvolvimento de projetos externos, porém com o código disponível aqui é possível desenvolver o que deseja sem dificuldade, basta adicionar mais suas variáveis para o Sensor em #define, pinMode e int assim como as que já existem, adicionar dois comandos if e alterar a lógica de cada um deles para o que deseja.

  • manoel silva
    28 outubro 2019 at 17:19
    Deixe seu Comentário

    nao estou conseguindo fazer o download da biblioteca

    • Matheus Gebert Straub
      30 outubro 2019 at 15:33
      Deixe seu Comentário

      Boa Tarde manoel silva! Peço desculpas pelo ocorrido, o link já foi inserido novamente e está disponível para acesso.

  • Lucas
    4 novembro 2019 at 14:33
    Deixe seu Comentário

    Muito bom seu projeto, poderia disponibilizar este esquema ou somente o sensor boia.fzpz ou fzz para que eu possa utiliza-lo em meu projeto??

    • Matheus Gebert Straub
      6 novembro 2019 at 09:59
      Deixe seu Comentário

      Bom Dia Lucas. Infelizmente o Fritzing não possui um arquivo de imagem para o sensor de nível de água no momento, este esquema de ligação foi complementado em outro software de edição de imagem. Uma dica que posso dar para o desenvolvimento do seu projeto é utilizar no lugar do sensor um reed switch, este já vem incluso no Fritzing e é base para o funcionamento do sensor.

  • carlos
    7 outubro 2020 at 13:35
    Deixe seu Comentário

    Bom dia,
    Pode me ajudar com a placa PCB do projeto com display,
    estou começando a estudar, mas estou tendo dificuldade.

  • carlos
    8 outubro 2020 at 08:19
    Deixe seu Comentário

    Não foi bem isso.
    No esquema da imagem, você ligou os componentes no protoboard, pra mostrar ligação.
    Para fazer ele real, preciso desenhar na placa de fenolite por exemplo, esse esquema que precisava.

  • luana
    21 outubro 2020 at 13:39
    Deixe seu Comentário

    Boa tarde estou utilizando cod parecido o meu projeto tem 13 sensor de nivel … ele da um erro
    sketch_oct21d:1:17: error: expected unqualified-id before numeric constant
    #define Sensor1 2
    ^note: in expansion of macro ‘Sensor1’
    int Sensor1 = 1, Sensor2 = 1 ,Sensor3 = 1, Sensor4 = 1, Sensor5 = 1, Sensor6 = 1, Sensor7 = 1, Sensor8 = 1,Sensor9 = 1, Sensor10 = 1, Sensor11 = 1, Sensor12 = 1;
    ^~~~~~~
    exit status 1
    expected unqualified-id before numeric constant

    consegue me ajudar?

    • Matheus Gebert Straub
      21 outubro 2020 at 14:15
      Deixe seu Comentário

      Boa Tarde Luana! Pelo que pude observar, você está duplicando os nomes, por exemplo, para definir o pino do sensor você utiliza “Sensor1” e para definir o estado do sensor você utiliza a mesma nomenclatura “Sensor1”. Se observar no código deste artigo, para indicar o estado dos sensores a palavra sensor está escrita com a primeira letra minúscula, o suficiente para diferenciar ambos os casos.

      • Vander
        21 dezembro 2020 at 12:39
        Deixe seu Comentário

        Olá,existe a possibilidade de acionar uma bomba dagua quando o sensor de nivel baixo estiver acionado e também a colocação de um sensor para não ativar a bomba caso não tenha água na cisterna para não queimar a bomba?

        • Matheus Gebert Straub
          4 março 2021 at 11:17
          Deixe seu Comentário

          Olá Vander! É possível fazer uma relação de dados para acionar apenas quando o sensor de nível estiver baixa e quando houver água na cisterna, porém terá que incluir sensores de verificação em ambos os locais e realizar as devidas alterações no esquema de ligação e código.

  • vander
    27 dezembro 2020 at 23:32
    Deixe seu Comentário

    Olá Matheus,teria como ativar um relé quando estiver no nivel critico para ativar uma bomba e se manter ativo até o nivel cheio?,e também ter um buzzer para alertar a ativação do relé?

    • Matheus Gebert Straub
      4 março 2021 at 11:22
      Deixe seu Comentário

      Olá Vander! É possível fazer este processo sem problema, basta incluir no if de reservatório vazio o comando para acionar a bomba e no if de reservatório cheio um comando para desligar a bomba e acionar um buzzer sem problema.

  • Andre SAntos
    5 abril 2021 at 01:05
    Deixe seu Comentário

    Olá Matheus estou tentando implementar um rele como no post acima para ativar e desativar uma bomba.
    Sou iniciante em arduino seria possível passar algumas dicas de como implementar esse comando.

    • Matheus Gebert Straub
      7 abril 2021 at 16:06
      Deixe seu Comentário

      Olá Andre! Fiz uma atualização no esquema de ligação e no código de funcionamento, agora o projeto já está com módulo relé e Válvula Solenoide incluídos e em funcionamento.

      • andre Santos
        30 abril 2021 at 12:15
        Deixe seu Comentário

        Matheus muito obrigado ficou muito bom. Eu montei e fiz algumas modificações para colocar um botão de acionamento manual

        • Matheus Gebert Straub
          10 maio 2021 at 09:47
          Deixe seu Comentário

          Olá Andre! Perfeito, que bom que deu tudo certo!

  • murilo Ferfolha
    19 maio 2021 at 19:42
    Deixe seu Comentário

    Olá Matheus, estou fazendo um sistema com a utilização do mesmo sensor de nível de água, estou utilizando o Fritzing, poderia me dizer se também utilizou e se possível teria o componente disponível para download fzpz? Desde já gradeço

    • Matheus Gebert Straub
      20 maio 2021 at 09:17
      Deixe seu Comentário

      Olá Murilo! Infelizmente para o Fritzing, não encontrei nenhum componente compatível com o Sensor de Nível tipo boia, realizei a finalização do esquema através de um aplicativo de edição de imagem. Mas tenho uma dica para lhe dar, o Sensor de Nível é apenas um case desenvolvido para proteger um sistema de funcionamento via Reed Switch, e este componente você encontra no Fritzing para incluir em seu esquema.

  • Junior
    6 setembro 2021 at 17:28
    Deixe seu Comentário

    Olá, é possível adicionar mais sensores e fazer a leitura de uma segunda caixa d’água usando essa configuração? grato.

    • Matheus Gebert Straub
      15 setembro 2021 at 14:22
      Deixe seu Comentário

      Olá Junior! Para controlar outros sensores e consequentemente outro reservatório, é necessário incluir novos sensores e fazer as devidas alterações no código.

    Deixe seu Comentário

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados