fbpx

Como utilizar o módulo sensor de turbidez de partículas suspensas na água com Arduino

A água é um dos recursos mais importantes para a manutenção da vida no planeta. Portanto, a conservação da sua qualidade é fundamental para manutenção da saúde e bem-estar da população.

A qualidade da água é determinada através da análise parâmetros físicos, químicos e biológicos. Um dos parâmetros físicos que deve ser levado em consideração durante a análise da qualidade da água é a sua turbidez.

A turbidez é uma propriedade física que indica a existência de materiais em suspensão que reduzem a transparência e interferem a passagem de luz através de um determinado fluido.

Neste tutorial, vamos aprender sobre as características do módulo sensor de turbidez de partículas suspensas na água (Figura 1) e como utilizá-lo em conjunto com o Arduino.

Imagem ilustrativa módulo sensor de turbidez de partículas suspensas na água.
Figura 1: Módulo Sensor de Turbidez de Partículas Suspensas na Água.

O módulo sensor de turbidez é capaz de medir a saída de feixe de luz em uma quantidade de água, sendo muito útil em projetos envolvendo medição de qualidade de água.

O funcionamento do sensor se baseia na emissão de feixes de luz. Quando a luz emitida se choca com alguma partícula ou sólido tem-se a dispersão do feixe de luz. Desse modo, em fluídos com mais sujeira temos maior dispersão e maior é a turbidez.

Figura ilustrativa do modo de funcionamento do módulo sensor de turbidez de partículas suspensas na água.
Figura 2: Modo de funcionamento do módulo sensor de turbidez de partículas suspensas na água.

O módulo sensor de turbidez foi desenvolvido especialmente para atuar em conjunto com plataformas microcontroladoras como Arduino, ESP32, Raspberry e outros.

O módulo sensor de turbidez é composto pelo sensor e por uma placa amplificadora de sinais. O sensor é composto por um transmissor de luz infravermelha e um fototransistor. A placa amplificadora de sinais possui um conector JST para conexão com o sensor, um potenciômetro de ajuste e três pinos para alimentação e comunicação com microcontroladores, conforme a Figura 3.

Figura ilustrativa dos pinos do módulo amplificador
Figura 3: Pinos do módulo amplificador

Funções dos pinos:

  • VCC: Alimentação do módulo (5VDC);
  • GND: Aterramento do módulo;
  • OUT: Sinal de saída analógica ou digital.

A saída do sensor pode ser analógica ou digital. A preferência do tipo de sinal será feita por meio da soldagem dos pads de seleção que estão localizados próximos aos pinos de alimentação.

Por padrão, o módulo vem soldado para saída de sinal analógico, conforme a Figura 4. Caso necessite utilizar a saída digital, remova a solda do pad analógico e solde o pad digital.

Imagem ilustrativa de definição da saída do sensor de turbidez.
Figura 4: Definição da saída do sensor de turbidez.

Agora que já conhecemos as principais características e modo de funcionamento do módulo sensor de turbidez de partículas suspensas na água, vamos aprender a utilizá-lo em conjunto com o Arduino. A proposta será desenvolver um projeto para identificação da água limpa, meio suja e suja por meio da leitura analógica do módulo.

MATERIAIS NECESSÁRIOS

ESQUEMÁTICO DE LIGAÇÃO

Inicialmente, certifique-se de que a sua placa Arduino esteja desligada. Em seguida, monte o circuito da Figura 5.

Imagem ilustrativa do esquemático de ligação para utilização do sensor de turbidez com o Arduino.
Figura 5: Esquemático de ligação para utilização do sensor de turbidez com o Arduino.

Ao montar o circuito observe os seguintes pontos:

  • O pino GND do sensor deve ser conectado ao GND do Arduino;
  • O pino VCC do sensor deve ser conectado ao pino de 5V do Arduino;
  • O pino de saída do sensor (OUT) deve ser conectado a entrada analógica A3 do Arduino.

ELABORANDO O CÓDIGO

Após a montagem do circuito, vamos programação do Sketch no Arduino IDE. Nesse projeto, vamos utilizar o sensor de turbidez para detectar se uma certa quantidade de água está limpa, meio suja ou suja.

Vamos entender a lógica de programação deste projeto a partir dos seguintes passos:

1. Declarar as variáveis

A variável sensorPin será utilizada para representar o pino analógico A3 e a variável sensorValue será utilizada para armazenar das leituras do módulo sensor de turbidez.

2. Iniciar a comunicação serial

Na função setup, inicializamos a comunicação serial por meio da instrução Serial.begin(9600);.

3. Realizar a leitura analógica do sensor

Iniciamos o loop() realizando a leitura da porta analógica A3 (sensorPin). Para isso, utilizaremos a função analogRead(ldr) e armazenamos o valor lido na variável leitura. Em seguida, imprimimos a leitura no monitor serial.

4. Classificação da qualidade da água

A classificação da qualidade da água foi feita por meio de testes de calibração, ficando da seguinte maneira:

  • Para valores analógicos maiores de 700, temos que a água possui poucos resíduos, logo a água está limpa.
  • Para valores analógicos entre 600 e 700, temos que a água possui uma quantidade relevante de resíduos, logo a água está um pouco suja.
  • Para valores analógicos entre menores que 600, teremos que a água possui muitos resíduos, logo a água está muito suja.

Usamos a estrutura condicional if para verificar em qual faixa a leitura do sensor se encontra.

Ao final, o Sketch deste projeto ficará da seguinte maneira:

/*
  -    SENSOR DE TURBIDEZ DA ÁGUA COM ARDUINO     -
  =================================================
  === BLOG DA ROBOTICA - www.blogdarobotica.com ===
  =================================================
  Autor: Jonas Souza
  E-mail: contato@blogdarobotica.com
  Facebook: facebook.com/blogdarobotica
  Instagram:@blogdarobotica
  YouTube: youtube.com/user/blogdarobotica
  =================================================
  === CASA DA ROBOTICA - www.casadarobotica.com ===
  =================================================
  Facebook: facebook.com/casadaroboticaoficial
  Instagram:@casadarobotica
  ==================================================
*/

int sensorPin = A3; // Atribui a porta A3 a variavel sensorPin
int leitura; //Variável responsável por guardar o valor da leitura analógica do sensor

void setup() {
  Serial.begin(9600); //Inicializa a comunicação serial
}

void loop() {
  leitura = analogRead(sensorPin); //Realiza a leitura analógica do sensor
  Serial.print("Valor lido: "); //Imprime no monitor serial
  Serial.println(leitura); // manda o valor de leitura para o monitor serial
  delay(500); //Intervalo de 0,5 segundos entre as leituras
  Serial.print("Estado da água: "); //Imprime no monitor serial

  if (leitura > 700) { //Se o valor de leitura analógica estiver acima de 700

    Serial.println("LIMPA"); //Imprime no monitor serial que a água está limpa
  }
  if ((leitura > 600) && (leitura <= 700)) { //Se o valor de leitura analógica estiver entre 600 e 700

    Serial.println("UM POUCO SUJA"); //Imprime no monitor serial que a água está um pouco suja
  }
  if (leitura < 600) { //Se o valor de leitura analógica estiver abaixo de 600 

    Serial.println("MUITO SUJA"); //Imprime no monitor serial que a água está um pouco suja
  }
  Serial.println();
}

O funcionamento deste projeto pode ser visualizado no Vídeo 1.

Vídeo 1: Utilizando o módulo sensor de turbidez de partículas suspensas na água com Arduino.

Espero ter ajudado,

Obrigado a todos e em caso de dúvidas deixe seu comentário abaixo!

Att. Jonas Souza

Dúvidas? Deixe seu comentário

Jonas Souza

Graduando em Engenharia Elétrica. Atua no setor desenvolvimento de tutoriais para o Blog da Robótica.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.