Você já pensou em monitorar a transparência da água e identificar alterações na sua qualidade utilizando um Arduino? Neste projeto, vamos mostrar como utilizar o sensor de turbidez para analisar a quantidade de partículas suspensas na água e transformar essa informação em uma leitura.
O sensor de turbidez pode ser utilizado em diferentes aplicações, como aquários, reservatórios, estações de tratamento de água, sistemas de irrigação e projetos de automação.
A partir da leitura do sensor, você pode desenvolver sistemas capazes de acionar alarmes, bombas, válvulas ou outros dispositivos automaticamente conforme as condições identificadas.
Como funciona o Sensor de Turbidez?
O sensor de turbidez utiliza um sistema óptico para identificar alterações na transparência da água.
Dentro do sensor, temos principalmente dois elementos:
- LED infravermelho;
- Fototransistor.
O LED infravermelho emite um feixe de luz através da água, enquanto o fototransistor recebe a luz que consegue atravessar o líquido.
Quando existem partículas suspensas na água, a passagem da luz é alterada. O receptor identifica essa variação e o módulo transforma a informação em um sinal elétrico que pode ser interpretado pelo Arduino.
Quanto maior a quantidade de partículas suspensas, maior será a alteração na intensidade da luz recebida pelo fototransistor.
Conhecendo o módulo de conversão
O sensor é acompanhado por um módulo de conversão responsável por transformar a variação detectada pelo sistema óptico em um sinal que podemos utilizar no microcontrolador.
O módulo possui três pinos:
- VCC: alimentação;
- GND: negativo;
- Dados: saída do sinal.
A alimentação utilizada neste projeto é de 5 V.

A saída de dados do módulo fornece uma tensão variável que será lida pela entrada analógica do Arduino UNO.
Conectando o Sensor de Turbidez ao Arduino
Para realizar a leitura, vamos utilizar o Arduino UNO.
As conexões são:
| Módulo de Conversão | Arduino UNO |
|---|---|
| VCC | 5V |
| GND | GND |
| Dados | A0 |
O pino A0 será responsável por receber o sinal analógico enviado pelo módulo.
Esquemático do Projeto
Depois de realizar todas as conexões, o circuito deve ficar conforme o esquemático abaixo.

Antes de alimentar o circuito, confira as conexões entre o módulo e o Arduino UNO para evitar ligações incorretas.
Calibração do Sensor de Turbidez
Antes de utilizar o sensor para obter valores de turbidez, é aconselhável realizar uma calibração prévia utilizando amostras com turbidez conhecida.
Isso é importante porque a relação entre tensão e turbidez pode variar conforme o sensor, as condições de medição e a aplicação.
Neste projeto, vamos converter a tensão medida pelo Arduino para uma estimativa em NTU (Unidades Nefelométricas de Turbidez).
A calibração adequada permite obter resultados mais coerentes para a aplicação desejada.
Programando o Arduino UNO
Para começar, conecte o Arduino UNO ao computador e abra a Arduino IDE.
Selecione:
- A placa Arduino UNO;
- A porta COM correspondente ao Arduino.
Depois, cole o código abaixo e faça o upload para a placa.
const int sensorPin = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
long soma = 0;
for (int i = 0; i < 20; i++) {
soma += analogRead(sensorPin);
delay(5);
}
float leitura = soma / 20.0;
float tensao = leitura * (5.0 / 1023.0);
float NTU;
if (tensao < 2.5) {
NTU = 3000;
} else {
NTU = -1120.4 * sq(tensao) + 5742.3 * tensao - 4352.9;
}
Serial.print("Tensao: ");
Serial.print(tensao, 2);
Serial.print(" V NTU: ");
Serial.println(NTU);
delay(1000);
}
Como o Código Funciona?
Primeiro, definimos o pino analógico que será utilizado para receber o sinal:
const int sensorPin = A0;
Depois, o Arduino realiza várias leituras consecutivas para diminuir oscilações momentâneas do sinal.
long soma = 0;
for (int i = 0; i < 20; i++) {
soma += analogRead(sensorPin);
delay(5);
}
Em seguida, calculamos a média das 20 leituras:
float leitura = soma / 20.0;
O Arduino UNO realiza a leitura analógica em uma faixa de 0 a 1023. Como estamos utilizando uma referência de 5 V, podemos converter esse valor para tensão:
float tensao = leitura * (5.0 / 1023.0);
A partir da tensão obtida, o código realiza uma conversão para uma estimativa de turbidez em NTU.
NTU = -1120.4 * sq(tensao) + 5742.3 * tensao - 4352.9;
Essa fórmula permite transformar a leitura de tensão em um valor aproximado de turbidez.
Visualizando os dados no monitor serial
Depois de enviar o código para o Arduino, abra o Monitor Serial da Arduino IDE e configure a velocidade para 9600 baud.
O sistema deverá apresentar informações semelhantes a:
Tensao: 3.21 V NTU: 18.42
Tensao: 3.18 V NTU: 21.15
Tensao: 3.10 V NTU: 29.76
A cada segundo, o Arduino realiza uma nova leitura e apresenta a tensão medida e o valor estimado em NTU.
Por que a leitura é feita em NTU?
O sinal original do módulo é uma tensão elétrica, portanto o Arduino não recebe diretamente um valor de turbidez.
Primeiro, o microcontrolador realiza a leitura da tensão no pino A0. Depois, o programa utiliza uma equação de conversão para transformar esse valor em uma estimativa expressa em NTU.
É justamente por isso que a calibração é tão importante. Para aplicações que exigem maior precisão, utilize referências conhecidas e faça a calibração de acordo com o sensor e as condições reais de uso.
Aplicações do Sensor de Turbidez
Agora que você sabe como utilizar o sensor de turbidez, pode aplicar o projeto em diferentes sistemas, como:
- Monitoramento de aquários;
- Análise de reservatórios;
- Sistemas de irrigação;
- Sistemas de tratamento de água.
Você também pode utilizar a leitura do Arduino como condição para acionar outros componentes, como LEDs, buzzers, relés, bombas e válvulas.
Conclusão
Agora você já sabe como utilizar o sensor de turbidez com Arduino UNO para monitorar alterações na transparência da água.
O sensor utiliza um sistema óptico para identificar a quantidade de partículas suspensas e fornece uma saída analógica que o Arduino consegue interpretar. A partir dessa informação, podemos converter a tensão medida em uma estimativa de turbidez em NTU.
Esse projeto também serve como base para aplicações maiores. Com algumas alterações no código e a inclusão de outros componentes, você pode criar sistemas capazes de monitorar a água e acionar automaticamente alarmes, bombas, válvulas ou outros dispositivos de controle.




Deixe um comentário