Monitorando a Turbidez da Água com Arduino

Eletrogate 26 de dezembro de 2025

Introdução

Se tem uma coisa legal nos projetos com Arduino é que eles conseguem transformar ideias simples em ferramentas realmente úteis. E foi exatamente pensando nisso que decidi montar um monitor de turbidez da água. A proposta é bem direta: criar um sistema que consiga mostrar, de forma rápida, se a água está mais limpa ou mais turva usando um sensor próprio para isso.

Esse tipo de projeto combina bem com quem gosta de experimentar com o meio ambiente ou simplesmente quer entender como pequenos sensores podem ajudar a visualizar o que não conseguimos ver a olho nu. E o melhor: os materiais são poucos, baratos e fáceis de encontrar. Em pouco tempo você já consegue montar tudo e ver as primeiras leituras acontecendo.

A ideia aqui é mostrar como montar o sistema inteiro: ligar o sensor, interpretar o valor no Arduino e indicar o nível de turbidez usando LEDs. Quem quiser pode ir além e colocar um display ou até fazer um registro contínuo dos dados — mas, para este post, vou focar na versão simples e funcional, que qualquer iniciante consegue montar.


Montagem do Projeto

A estrutura do projeto é bem tranquila. O sensor envia para o Arduino um valor analógico que varia conforme a água está mais transparente ou mais carregada de partículas. Com base nessa leitura, o Arduino acende um LED diferente. A lógica é simples:

  • Leitura alta → água mais clara → LED verde
  • Leitura intermediária → turbidez moderada → LED amarelo
  • Leitura baixa → água bem turva → LED vermelho

Essa divisão permite que qualquer pessoa entenda rapidamente o que está acontecendo. É um jeito direto de transformar números em algo visual.

Diagrama do circuito

1. Preparando a protoboard

Coloque o Arduino ao lado da protoboard, deixando a linha positiva e negativa livres para alimentar os componentes. Não precisa ligar o cabo USB agora — deixe a energia desligada até o final da montagem.

2. Instalação dos LEDs

  1. Posicione os três LEDs (verde, amarelo e vermelho) um ao lado do outro.
  2. Coloque uma ponta do resistor de 220 Ω em uma das pernas do LED, a outra ponta você deve ligar a trilha do GND na protoboard.

3. Conectando os LEDs ao Arduino

  1. Use jumpers para ligar cada resistor aos seguintes pinos digitais (coloque esse jumper na perna em que o resistor não está ligado):
  • LED verde → D3
  • LED amarelo → D4
  • LED vermelho → D5

2. Ligue a linha GND da protoboard ao GND do Arduino com um jumper.

    4. Ligando o sensor de turbidez

    O módulo do sensor recebe VCC, GND e um sinal analógico.

    1. Conecte VCC → 5V do Arduino.
    2. Conecte GND → GND da protoboard.
    3. Conecte a saída A0 → pino A0 do Arduino.

    Se estiver usando a sonda submersa, deixe o módulo preso na protoboard e a sonda livre para ser colocada na água.

    5. Conferência geral

    Antes de ligar, verifique:

    • Resistores em série com os LEDs
    • Jumpers indo para os pinos certos
    • Linha de GND comum
    • Sensor ligado em VCC, GND e A0
    • Nada invertido ou solto

    Quando tudo estiver certo, conecte o cabo USB.


    Código do Projeto

    //Declaramos a função do pino conectado à porta analógica.
    int pinoSensor = A0;
    
    // Cada LED representa um nível de qualidade da água.
    // Verde = água clara, Amarelo = moderada, Vermelho = turva.
    int ledVerde = 3;
    int ledAmarelo = 4;
    int ledVermelho = 5;
    
    void setup() {
      Serial.begin(9600); 
      // Habilita o Serial Monitor, permitindo ver as leituras em tempo real.
    
      // Configura os LEDs como saída para poder acendê-los ou apagá-los.
      pinMode(ledVerde, OUTPUT);
      pinMode(ledAmarelo, OUTPUT);
      pinMode(ledVermelho, OUTPUT);
    }
    
    void loop() {
    
      // Faz a leitura analógica do sensor (0 a 1023).
      // Quanto maior o valor, mais luz passou pela água → menor turbidez.
      int leitura = analogRead(pinoSensor);
    
      // Mostra no Serial Monitor para facilitar os testes e calibração.
      Serial.print("Leitura do sensor: ");
      Serial.println(leitura);
    
      // Aqui definimos as faixas de turbidez.
      // Os valores 800 e 500 são exemplos e devem ser ajustados com testes reais.
    
      if (leitura > 800) {
        // Água bem clara: acende só o LED verde.
        digitalWrite(ledVerde, HIGH);
        digitalWrite(ledAmarelo, LOW);
        digitalWrite(ledVermelho, LOW);
      } 
      else if (leitura > 500) {
        // Água com leve turbidez: liga o LED amarelo.
        digitalWrite(ledVerde, LOW);
        digitalWrite(ledAmarelo, HIGH);
        digitalWrite(ledVermelho, LOW);
      }
      else {
        // Água bem turva: liga o LED vermelho.
        digitalWrite(ledVerde, LOW);
        digitalWrite(ledAmarelo, LOW);
        digitalWrite(ledVermelho, HIGH);
      }
    
      // Pequena pausa só para evitar leituras muito rápidas.
      delay(300);
    }

    Explicação clara

    • analogRead(A0) devolve um valor entre 0 e 1023.
    • Quanto maior for o valor, mais luz atravessou a água → água mais limpa. Os limites (800 e 500) funcionam como “faixas”. Você deve ajustá-los conforme a água da sua região. O código acende apenas um LED de cada vez, facilitando a interpretação.
    • O Serial.println é ótimo para acompanhar os valores durante os testes.


                  Resultados e Testes

                  Depois da montagem, vale testar em vários tipos de água:

                  • Água filtrada
                  • Água da torneira
                  • Água com terra
                  • Água com corante
                  • Água agitada (muita bolha altera a leitura)

                  Diferentes tipos e qualidades de água para testes

                  Durante os testes, observe:

                  • Como a leitura muda no Serial Monitor
                  • Em que ponto o LED amarelo aparece
                  • Em que momento o vermelho dispara
                  • Se a sonda fica estável na água (uma leve movimentação altera os números)

                  É comum que o sensor mostre oscilações leves — isso acontece por conta de microbolhas e partículas passando na frente do emissor. Se quiser, você pode adicionar uma média móvel no código para suavizar.

                  Abaixo segue um vídeo do protótipo, mas com uma pequena variação, mas seguindo a mesma idéia, porém com um Display OLED 128×64 0,96″ e um sistema com um LED que acende quando é detectada turbidez acima de 50%. Isso mostra que esse projeto é facilmente personalizável e passível de ser adaptado.


                  Conclusão

                  Esse projeto é simples, mas entrega um ótimo aprendizado para quem está entrando no mundo da eletrônica. Ele mostra como ler sensores analógicos, como transformar números em algo visual e como pequenas variações na água podem ser interpretadas pelo Arduino. Além disso, o projeto abre portas para melhorias futuras: display OLED, alarmes, gravação de dados, comunicação sem fio, painel solar, entre outros.


                  Sobre o Autor


                  Miguel Ferreira Araújo

                   


                  Eletrogate

                  26 de dezembro de 2025

                  A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

                  Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!

                  Eletrogate Robô

                  Assine nossa newsletter e
                  receba  10% OFF  na sua
                  primeira compra!