Medidor de nível de caixa d’água com Arduino e ultrassom
Como referenciar este texto: Medidor de nível de caixa d’água com Arduino e ultrassom. Rodrigo Terra. Publicado em: 26/09/2026. Link da postagem: https://www.makerzine.com.br/medidor-de-nivel-de-caixa-dagua-com-arduino-e-ultrassom/.
Monitorar a água que temos — e a que falta — é um ótimo ponto de partida para trabalhar sustentabilidade de forma concreta na escola. Um medidor de nível de caixa d’água com Arduino, sensor ultrassônico e LEDs transforma um tema urgente em atividade prática, conectando ciências, matemática e tecnologia com um problema real do cotidiano escolar.
Por que este projeto faz sentido na escola
Problema real, decisão real. Medir o nível da caixa d’água torna visível algo que costuma passar despercebido e permite agir com base em evidências. Exemplos práticos: se o nível cai sempre no início da tarde, vale combinar com a equipe de limpeza para concentrar usos em horários de maior folga do reservatório; se há queda durante a madrugada, quando o prédio está fechado, isso pode sinalizar vazamento ou boia travada. O sensor fornece estimativas — confirme observando o reservatório e conversando com a zeladoria antes de tirar conclusões.
Série temporal que ensina a ler o cotidiano. Medições regulares valem mais do que um número isolado. Ao relacionar os dados com o calendário escolar e o clima, a turma aprende a interpretar padrões: recreios, aulas de Educação Física, lavagem do pátio, fins de semana e dias de calor costumam aparecer como picos ou vales. Anotar eventos no mesmo período do gráfico (“lavagem do pátio”, “recreio estendido”, “chuva forte”, quando há captação) ajuda a explicar variações. Também é uma boa oportunidade para discutir ruído de medição: respingos, espuma ou posição do sensor podem oscilar leituras; olhar tendências ou suavizar com uma média de três leituras consecutivas costuma clarear o desenho geral sem mascarar mudanças reais.
Comunicação que vira ação. Um painel simples com faixas de nível (cheio, atenção, crítico) dá previsibilidade para todos os turnos. Relatórios curtos quinzenais — consumo médio diário e anotações de eventos que alteraram o padrão — já orientam direção e manutenção. Se um comportamento atípico persiste por alguns dias, registrar datas e horários e encaminhar agiliza a verificação técnica.
- O consumo muda entre manhã e tarde? De quanto é a diferença média?
- Há queda noturna consistente quando a escola está fechada?
- Quanto tempo a caixa leva para encher de 50% a 80% em dias típicos?
Como o ultrassônico “enxerga” a água
O princípio é tempo de voo: o emissor manda um pulso sonoro, a superfície da água devolve um eco e o sensor mede o intervalo entre os dois. A distância é esse tempo multiplicado pela velocidade do som e dividido por dois (vai e volta). Importa lembrar que o que sai do sensor é a distância até a lâmina d’água, não o volume disponível. Para transformar em nível, basta conhecer a altura útil da caixa e a posição do sensor: nível ≈ altura interna menos a distância medida. Essa distinção simples evita confusões nos gráficos e nos LEDs.
A geometria do feixe é direcional, em forma de cone. Se o cone “enxerga” a parede, canos ou a borda, o eco vem do lugar errado. Instale o sensor apontado verticalmente para o centro do reservatório, firme (sem vibração) e afastado de obstáculos. Existe uma faixa muito próxima ao sensor em que ele não mede bem (zona cega); por isso, não adianta colar o transdutor rente à água. Vale observar também tampas que batem com o vento e suportes bambos: tudo isso muda a leitura sem que o nível tenha mudado.
Leituras instáveis costumam vir de espuma, respingos e ondulação. Em vez de perseguir o “número perfeito”, estabilize o dado: faça várias leituras rápidas e use a mediana, descarte valores muito fora da curva e aplique uma histerese simples nos LEDs para evitar pisca-pisca quando o nível está na fronteira entre faixas. A temperatura do ar altera um pouco a velocidade do som; se não houver compensação, aceite pequenas variações e defina faixas de nível com margens confortáveis. Essas escolhas trazem boas conversas de física sem atrapalhar o funcionamento prático.
Montagem mínima: o que ligar e como
Ligações que funcionam de primeira. Trate o GND como referência comum: una todos os GNDs na mesma barra da protoboard. Alimente o HC‑SR04 em 5 V e leve TRIG ao D9 e ECHO ao D8. Cada LED precisa de um resistor de 220 Ω em série: anodo do LED → resistor → pino digital (por exemplo D3 verde, D4 amarelo, D5 vermelho); cátodo → GND. Se o LED não acender, quase sempre está invertido; inverta-o. O resistor não tem lado. Prefira jumpers curtos e bem encaixados para evitar falso contato.
Posicionamento do sensor. O HC‑SR04 emite um feixe cônico; se ‘enxerga’ a parede da caixa, o eco volta errado. Fixe o sensor rigidamente na tampa, apontado o mais vertical possível para o espelho d’água e afastado de cantos. Em caixas estreitas ou com muita ondulação, um tubo de calma ajuda: um pedaço de tubo de PVC um pouco mais largo que o sensor, aberto embaixo e com janelas laterais, preso à tampa, cria uma coluna de água mais estável e reduz ecos laterais. Não cubra a frente das cápsulas; o ultrassom precisa de passagem livre pelo ar.
Teste rápido antes dos LEDs. Valide o posicionamento lendo a distância no Monitor Serial. Com o sensor parado, observe se os valores ficam estáveis; oscilações grandes sugerem vibração, respingos ou paredes dentro do feixe. Ajuste ângulo e posição até estabilizar. Aproveite para anotar a distância com a caixa cheia e com a caixa baixa; esses dois pontos orientarão depois os limites de cada LED.
Para instalar no local, proteja a eletrônica em caixa plástica e mantenha o sensor a salvo de goteiras sem obstruir a frente (uma pequena aba acima já ajuda). Faça um laço de gotejamento no cabo. Durante testes, use apenas uma fonte 5 V por vez (USB ou fonte externa), sempre com GND comum.
Calibração e matemática em ação
Trate a calibração como coleta de dados confiáveis. Meça a altura útil interna (H), a distância do sensor até a água com a caixa cheia (d_cheia) e a distância até o fundo (d_vazia). Use a mesma trena ou régua em todas as medições, repita três vezes cada medida e anote a média. Se não for possível esvaziar completamente, estime d_vazia pela medida externa até o fundo e depois ajuste finamente comparando com a observação visual do nível.
- Reduza ruído do ultrassom: aplique média móvel (por exemplo, das últimas 5 leituras) ou mediana para ignorar picos.
- Descubra e descarte leituras fora da faixa (menores que d_cheia ou maiores que d_vazia) e limite o nível calculado entre 0% e 100%.
- Dê intervalo entre leituras quando a água estiver em movimento para diminuir o efeito de ondulações e ecos.
A passagem de distância para porcentagem é direta por regra de três: nível% = (d_vazia − d) / (d_vazia − d_cheia) × 100. Quando d = d_cheia, o nível é 100%; quando d = d_vazia, é 0%. Arredonde apenas na exibição (por exemplo, 62%). Para LEDs, defina faixas alinhadas ao uso real da escola e evite “pisca-pisca” perto dos limites aplicando uma pequena histerese: o verde só acende acima de um ponto (ex.: 62%) e só apaga quando cair abaixo de outro (ex.: 58%).
Para estimar volume e consumo, converta variações de altura em litros. Em caixas retangulares, multiplique a área da base (cm²) pela variação de altura (cm) e divida por 1.000 (1.000 cm³ = 1 L). Em caixas cilíndricas, use V = π·r²·h com todas as medidas em centímetros. Exemplo: se a base tem 2.400 cm², cada 1 cm de água corresponde a 2,4 L; se o nível caiu 5 cm entre dois dias, foram cerca de 12 L nesse intervalo, na caixa monitorada.
Depois dos primeiros dias, revise a calibração confrontando a porcentagem estimada com a observação visual. Se houver diferença constante, ajuste d_cheia ou d_vazia até alinhar previsão e realidade.
Lógica do programa: passo a passo comentado
Medida confiável do ultrassom. Isolar a leitura em uma função ajuda muito. Ela deve: acionar o trig com um pulso curto (~10 µs), medir a duração do eco com pulseIn() usando timeout e converter o tempo em distância: dist_cm = tempo_µs × 0,0343 / 2. Trate o timeout: se não houver eco, devolva um valor inválido (por exemplo, -1) para que o restante do programa saiba ignorar a leitura. Defina também um intervalo plausível para a sua instalação (distâncias muito fora do esperado são descartadas). Assim você evita travamentos e decisões baseadas em “ecos fantasmas”.
Filtragem simples que funciona. Em vez de aceitar uma leitura única, faça um pequeno lote (5 a 7) com um curto intervalo entre disparos e use a mediana. A mediana reduz o impacto de picos ocasionais melhor do que a média em amostras pequenas. Se a maioria das leituras sair inválida, considere o ciclo como falho e não atualize a saída visual; registre a ocorrência para depuração depois. Esse arranjo equilibra estabilidade e responsividade sem complicar o código.
Do centímetro ao percentual e aos LEDs (com histerese). Meça duas referências na sua instalação: d_cheia (distância quando a caixa está cheia) e d_vazia (quando está vazia). Uma conversão direta é: nivel_% = 100 × (d_vazia − d_atual) / (d_vazia − d_cheia), com clamp entre 0 e 100. Para decidir os LEDs, defina faixas e use histerese para evitar “piscar” perto dos limites (por exemplo, um limite para subir e um pouco diferente para descer). Exemplo prático: níveis altos acendem só o verde; intermediários, só o amarelo; baixos, só o vermelho. Em leitura inválida, mantenha o estado atual por um curto período; em falhas consecutivas, apague todos os LEDs para sinalizar problema. Garanta no código que apenas um LED fique ligado por vez.
Segurança e instalação no mundo real
Duas decisões mandam na segurança aqui: como vedar e posicionar o sensor, e como alimentar e proteger a eletrônica. Mantenha toda a parte eletrônica em caixa plástica vedada, fora de respingos e do sol direto. O sensor vai na tampa, apontando verticalmente para baixo; vede o furo de passagem com silicone neutro e, no cabo, faça uma curva de gotejamento para que a água escorra antes de chegar à vedação. Dentro da caixa, fixe a placa com espaçadores e use um sachê de sílica gel para ajudar contra condensação, comum em casas de água.
Para reduzir ecos falsos por espuma, salpicos e paredes internas, um tubo guia curto ajuda bastante. Use um pedaço de tubo plástico com diâmetro um pouco maior que o feixe do sensor, aberto embaixo e com alguns furos laterais perto da base para equalizar o ar; não deixe o tubo encostar na água no nível máximo. Se optar por não usar tubo, instale o sensor longe de paredes, boias e canos, e deixe alguns centímetros de margem entre o sensor e o nível mais alto esperado.
Alimentação segura começa com 5 V confiáveis. Prefira uma fonte dedicada e certificada, em tomada protegida e longe de áreas molhadas. Em testes, um power bank evita extensões improvisadas. Proteja emendas com termorretrátil, organize os fios dentro da caixa e, se possível, use um conector para desacoplar o sensor da tampa sem puxar cabos. Não conecte nada da rede de 127/220 V ao protótipo; acionamento de bomba é outro projeto, com dispositivos e normas próprias.
Na instalação definitiva, combine com a equipe de manutenção o ponto de fixação e o horário de acesso. Use abraçadeiras para alívio de tensão e passe os cabos por canaleta ou eletroduto, fora de áreas de passagem e longe da tampa de inspeção. Identifique cabos e caixa com etiqueta simples para evitar desconexões por engano.
Checklist rápido
- Vedação sem frestas na tampa e na caixa; cabo com curva de gotejamento.
- Sensor alinhado na vertical, afastado de paredes e acima da zona de respingos/espuma.
- Fonte de 5 V confiável, conexões protegidas e nada ligado em 127/220 V.
- Cabos fixos, com alívio de tensão e rota segura.
- Teste com borrifador e variação do nível para validar leituras antes de deixar em operação.
Atividades com dados para sala de aula
Para que as leituras viabilizem investigações, vale combinar um protocolo simples de coleta e análise. Defina um horário fixo diário (ex.: início da manhã), registre a unidade escolhida (centímetros, porcentagem do volume útil ou distância medida pelo ultrassom convertida) e anote eventos que interferem no nível, como reabastecimento da caixa, manutenção da bomba ou chuva forte. Essa contextualização evita conclusões apressadas quando o gráfico “quebra o padrão”.
Na matemática, trabalhe com três frentes: visualização, tendência e comparação. Comece pelo gráfico de linhas diário: mesmo em papel milimetrado, já revela padrões de uso por dia da semana. Em seguida, calcule a variação diária (diferença entre leituras consecutivas) para estimar “queda média por dia” e discuta por que às vezes a variação pode ser positiva (reabasteceu). Para projeção com regra de três, deixe claro o caráter aproximado: se o nível está em 72% e a faixa vermelha começa em 50%, faltam 22 pontos percentuais; mantendo queda média de 7 pontos por dia, a previsão é de cerca de 3 dias (22/7). Peça que marquem no gráfico onde a previsão falhou e investiguem o motivo. Para comparar períodos, use médias semanais e destaque outliers com uma cor diferente, sempre acompanhados da justificativa no rodapé da tabela.
O relatório técnico para a gestão funciona melhor quando é curto e direto. Uma página resolve, com anexos apenas para o gráfico e a planilha. Uma estrutura que costuma funcionar:
- Contexto e pergunta: em 2–3 linhas, o que foi monitorado e por quê.
- Método de coleta: horário, unidade, duração e instrumentos (Arduino + ultrassom).
- Resultados-chave: gráfico de linhas, queda média por dia e qualquer padrão relevante (ex.: picos às quartas).
- Limitações: possíveis fontes de erro (espuma, respingos, reabastecimento não registrado).
- Recomendações: no formato “ação + responsável + quando” (ex.: revisar boia até sexta; instalar aviso na torneira do pátio).
Quando a instalação na caixa real não for possível, um reservatório didático transparente mantém o raciocínio intacto. Marque uma escala visível na garrafa (em cm e em % do volume útil), fixe o sensor de modo que a referência de zero e topo fique estável e reduza reflexos internos usando uma faixa opaca na parede externa. Leituras ficam mais consistentes se a água estiver parada por alguns segundos; anote quando houve agitação. Ao comparar dados entre turmas, use sempre a mesma unidade e o mesmo horário de coleta para evitar distorções.
Próxima leitura