Medidor de ph usando sensor de pH e Arduino com display OLED

Tempo de leitura: 9 minutes

Em química, pH é uma escala usada para especificar o quão ácida ou básica é uma solução à base de água. As soluções ácidas têm um pH mais baixo, enquanto as soluções básicas têm um pH mais alto. Assim, o sensor de Ph tem a capacidade de determinar o Ph de qualquer solução, ou seja, ele diz se a substância é de natureza ácida, básica ou neutra. Conhecendo o Ph, podemos monitorar a qualidade da água na Fazenda Agrícola e também na Piscicultura. Da mesma forma, o sensor de pH tem uma ampla gama de aplicações, como tratamento de águas residuais, produtos farmacêuticos, produtos químicos e petroquímicos.

Neste tutorial básico, aprenderemos como fazer a interface do sensor de pH de gravidade com o Arduino. Projetaremos um medidor de Ph simples e exibiremos o valor de Ph no display OLED/LCD. Também aprenderemos sobre a construção e funcionamento do sensor de pH. Finalmente, aprenderemos o método de calibração que determinará a correção e precisão do sensor. O sensor de pH também pode ser conectado a outros microcontroladores de nível superior, como NodeMCU ESP8266 e STM32, que discutirei no futuro.

Lista de Materiais

A seguir estão os componentes necessários para fazer este projeto. Todos os componentes podem ser facilmente adquiridos no MercadoLivre ou em Lojas no Brasil.

ComponenteDescriçãoQuantidade
1Arduino UNOArduino UNO R3 Development Board1
2Ph Sensor KitAnalog Ph Sensor Kit1
3OLED Display0.96″ I2C OLED Display1
4Fios de ConexãoFios de Conexão10
5ProtoBoard1

 

O que é Ph?

O termo PH é uma medida quantitativa da acidez ou basicidade de soluções aquosas ou outras soluções líquidas. O termo, amplamente usado em química, biologia e agronomia, traduz os valores da concentração do íon hidrogênio, que normalmente varia entre cerca de 1 e 10-14 gramas-equivalentes por litro, em números entre 0 e 14.

Em água pura, que é neutra (nem ácida nem alcalina), a concentração do íon hidrogênio é de 10−7 gramas-equivalentes por litro, o que corresponde a um pH de 7. Uma solução com um pH inferior a 7 é considerada ácida; uma solução com pH superior a 7 é considerada básica ou alcalina.

 

O que é Ph Meter?

Um medidor de pH é um instrumento científico que mede a atividade do íon hidrogênio em soluções à base de água, indicando sua acidez ou alcalinidade expressa em pH. O medidor de pH mede a diferença de potencial elétrico entre um eletrodo de pH e um eletrodo de referência e, portanto, o medidor de pH é algumas vezes referido como um “medidor de pH potenciométrico“. A diferença no potencial elétrico está relacionada à acidez ou pH da solução.

 

Construção e funcionamento do medidor de pH

O sensor de pH tem uma estrutura semelhante a uma haste geralmente feita de vidro, com uma lâmpada contendo o sensor na parte inferior. O eletrodo de vidro para medir o pH tem um bulbo de vidro projetado especificamente para ser seletivo quanto à concentração de íons de hidrogênio. Na imersão na solução a ser testada, os íons de hidrogênio na solução de teste trocam por outros íons carregados positivamente no bulbo de vidro, criando um potencial eletroquímico através do bulbo. O amplificador eletrônico detecta a diferença de potencial elétrico entre os dois eletrodos gerados na medição e converte a diferença de potencial em unidades de pH. A magnitude do potencial eletroquímico através do bulbo de vidro está linearmente relacionada ao pH de acordo com a equação de Nernst.

O eletrodo de referência é insensível ao pH da solução, sendo composto por um condutor metálico, que se conecta ao display. Este condutor é imerso em uma solução eletrolítica, tipicamente cloreto de potássio, que entra em contato com a solução teste através de uma membrana cerâmica porosa. O display consiste em um voltímetro, que exibe a tensão em unidades de pH.

 

Kit de sensor/Medidor de pH analógico de gravidade

Sensor Ph Gravity: O medidor de pH analógico é projetado especificamente para medir o pH da solução e refletir a acidez ou alcalinidade. Como uma versão atualizada do medidor de pH V1, o sensor melhora muito a precisão e a experiência do usuário. O chip regulador de tensão integrado suporta o amplo fornecimento de tensão de 3,3 ~ 5,5V. O sinal de saída filtrado pelo hardware tem baixo jitter. Com este Sensor de Ph, você pode construir rapidamente o medidor de pH para medir o valor de Ph das diferentes soluções aquosas.

Características

1. Tensão de entrada: 3,3 ~ 5,5V
2. Sinal de saída filtrado por hardware, baixo jitter
3. Conector de gravidade e conector BNC
4. Calibração fácil
5. Tamanho uniforme do sensor e conector para fácil ajuste mecânico.

Especificações

O kit do sensor de pH possui placa de conversão de sinal (transmissor) V2 e também sonda de pH. Ambos estão conectados um com o outro. Os recursos de ambas as partes são os seguintes.

Placa de conversão de sinal (transmissor)

1. Tensão de alimentação: 3,3~5,5V
2. Tensão de saída: 0~3,0 V
3. Conector de sonda: BNC
4. Conector de sinal: PH2.0-3P
5. Precisão de medição: ± 0,1@25℃
6. Dimensão: 42 mm*32 mm/1,66*1,26 pol.

Sonda de pH

1. Tipo de Sonda: Grau de Laboratório
2. Faixa de detecção: 0~14
3. Faixa de temperatura: 5~60°C
4. Ponto Zero: 7±0,5
5. Tempo de resposta: <2min
6. Resistência interna: <250MΩ
7. Vida da sonda:> 0,5 anos (dependendo da frequência de uso)
8. Comprimento do cabo: 100 cm

 

Interface do sensor de pH analógico de gravidade com o Arduino

Agora vamos fazer a interface do sensor Ph com o Arduino usando o código simples do Arduino. A conexão é bastante simples e o circuito/esquema é fornecido abaixo.

O sensor Ph possui 3 pinos que precisam ser conectados ao Arduino. Portanto, conecte o pino VCC a 5V do Arduino e o GND ao GND. Conecte seu pino analógico ao A0 do Arduino, conforme mostrado na imagem acima.

Código Fonte/Programa

O código-fonte para a interface do sensor de gravidade Ph com o Arduino é fornecido abaixo. Simplesmente copie o código e carregue-o na placa Arduino.

#define SensorPin A0         //A saída analógica do medidor de pH está conectada com o analógico do Arduino
unsigned long int avgValue;  //Armazene o valor médio do feedback do sensor
float b;
int buf[10],temp;
 
void setup()
{
  pinMode(13,OUTPUT);  
  Serial.begin(9600);  
  Serial.println("Ready");    //Teste o monitor serial
}
void loop()
{
  for(int i=0;i<10;i++)       //Obtenha 10 valores de amostra do sensor para suavizar o valor
  { 
    buf[i]=analogRead(SensorPin);
    delay(10);
  }
  for(int i=0;i<9;i++)        //classificar o analógico de pequeno para grande
  {
    for(int j=i+1;j<10;j++)
    {
      if(buf[i]>buf[j])
      {
        temp=buf[i];
        buf[i]=buf[j];
        buf[j]=temp;
      }
    }
  }
  avgValue=0;
  for(int i=2;i<8;i++)                      //pegue o valor médio de 6 amostras de centro
    avgValue+=buf[i];
  float phValue=(float)avgValue*5.0/1024/6; //converter o analógico em milivolt
  phValue=3.5*phValue;                      //converter o milivolt em valor de pH
  Serial.print("    pH:");  
  Serial.print(phValue,2);
  Serial.println(" ");
  digitalWrite(13, HIGH);       
  delay(800);
  digitalWrite(13, LOW); 
}

 

Solução aquosa para testar o pH de diferentes soluções

Para testar o medidor de Ph projetado acima, usei 4 soluções diferentes com valores de Ph diferentes. Eu peguei as seguintes soluções

1. Água com sabão: o valor de pH está em torno de 9-10
2. Leite: o valor do pH está em torno de 6,5 a 6,7
3. Água encanada: o valor do pH está em torno de 6,5 a 8,5
4. Suco de limão: o valor do pH está entre 2 e 3

 

Teste e resultados

Depois que o código é carregado para a placa Arduino, você pode abrir o monitor serial e começar a testar o sensor de pH. Testei o sensor de pH com todas as 4 soluções fornecidas acima e encontrei os seguintes resultados

 

Interface do sensor de ph com Arduino e display OLED

Agora, vamos exibir o valor Ph no display OLED em vez do monitor serial. Para fazer isso, precisamos adicionar um display OLED I2C de 0,96 ″ ao Arduino Uno. Portanto, o diagrama de conexão é mostrado abaixo.

A conexão é bastante simples novamente. Conecte o pino analógico do sensor de pH ao pino A0 do Arduino e forneça 5 V a ele. Além disso, conecte o pino SDA SCL do display OLED ao pino Arduino A4 e A5 respectivamente

 

Código Fonte/Programa

O código-fonte para fazer a interface do sensor de gravidade Ph com o Arduino e o display OLED é fornecido abaixo. Simplesmente copie o código e carregue-o na placa Arduino.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
 
#define SensorPin 0          //a saída analógica do medidor de pH está conectada com o analógico do Arduino
unsigned long int avgValue;  //Armazene o valor médio do feedback do sensor
float b;
int buf[10],temp;
 
#define SCREEN_WIDTH 128  // Largura da tela OLED, em pixels
#define SCREEN_HEIGHT 64  // Altura da tela OLED, em pixels
#define OLED_RESET    -1  // Redefina o pino nº (ou -1 se estiver compartilhando o pino de redefinição)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
 
void setup()
{
  pinMode(13,OUTPUT);  
  Serial.begin(9600);  
  Serial.println("Ready");    //Teste o monitor serial
 
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) 
  {  
    Serial.println(F("Falha na alocação de SSD1306"));
    for(;;); // Não continue, faça um loop para sempre
  }
  display.display();
  delay(2);
  display.clearDisplay();
 
  display.clearDisplay();
  display.setTextColor(WHITE);
  display.setTextSize(2);
  display.setCursor(0,5);
  display.print("PH Sensor");
  display.display();
  delay(3000);
}

void loop()
{
  for(int i=0;i<10;i++)       //Obtenha 10 valores de amostra do sensor para suavizar o valor
  { 
    buf[i]=analogRead(SensorPin);
    delay(10);
  }
  for(int i=0;i<9;i++)        //classificar o analógico de pequeno para grande
  {
    for(int j=i+1;j<10;j++)
    {
      if(buf[i]>buf[j])
      {
        temp=buf[i];
        buf[i]=buf[j];
        buf[j]=temp;
      }
    }
  }
  avgValue=0;
  for(int i=2;i<8;i++)                      //pegue o valor médio de 6 amostras de centro
    avgValue+=buf[i];
  float phValue=(float)avgValue*5.0/1024/6; //converter o analógico em milivolt
  phValue=3.5*phValue;                      //converter o milivolt em valor de pH
  Serial.print("    pH:");  
  Serial.print(phValue,2);
  Serial.println(" ");
  
  display.clearDisplay();
  display.setTextSize(2);
  display.setCursor(20,0);
  display.println("Ph Value");
 
  display.setTextSize(3);
  display.setCursor(30,30);
  display.print(phValue);
 
  display.display(); 
 
  digitalWrite(13, HIGH);       
  delay(800);
  digitalWrite(13, LOW); 
 
}

 

Teste e resultados

Assim que o código for carregado, o display OLED começará a mostrar o valor de Ph. Mergulhar o eletrodo de Ph em soluções diferentes resultará em valores diferentes, conforme mostrado nas imagens abaixo.

 

Calibração do sensor de pH

Se você trabalhou com medição de PH antes, você saberá que os valores de PH variam de 0-14. Onde PH 0 é muito ácido, PH 7 será neutro e PH 14 muito alcalino. O maior problema ao usar o Sensor Ph é sobre a calibração. Uma vez que o sensor Ph é um sensor analógico, há uma necessidade de calibração, pois a saída depende da tensão. Portanto, precisamos de uma solução cuja força de Ph seja conhecida por nós. Existem várias soluções de buffer disponíveis no mercado cujo PH é fixo.

O método mais simples para calibrar o sensor de Ph é mergulhar o eletrodo de ph na solução de força conhecida e observar a leitura. Por exemplo, quando o eletrodo é mergulhado em uma solução cujo valor de pH é 7, a leitura deve mostrar 7. Caso não mostre a leitura correta, você precisa girar o potenciômetro colocado na placa de conversão de sinal (transmissor). Uma vez que a leitura corresponda, você pode parar de girar e, portanto, o sensor é calibrado.

Nota: No meu caso, usei Leite para calibrar o sensor, pois não tinha nenhuma solução tampão. O ph do leite está entre 6,5 e 6,7. Portanto, você também pode usar o Leite para calibração.

 

Precauções e coisas a seguir

1. O conector BNC e a placa de conversão de sinal devem ser mantidos secos e limpos, caso contrário, isso afetará a impedância de entrada, resultando em uma medição imprecisa. Se estiver úmido, precisa ser secado.
2. A placa de conversão de sinal não pode ser colocada diretamente em uma superfície úmida ou semicondutora, caso contrário, afetará a impedância de entrada, resultando em uma medição imprecisa. Recomenda-se a utilização do pilar de nylon para fixar a placa de conversão do sinal, deixando uma certa distância entre a placa de conversão do sinal e a superfície.
3. A bolha de vidro sensível na cabeça da sonda de pH deve evitar tocar no material duro. Qualquer dano ou arranhão fará com que o eletrodo falhe.
4. Após completar a medição, desconecte a sonda de pH da placa de conversão de sinal. A sonda de pH não deve ser conectada à placa de conversão de sinal sem a fonte de alimentação por muito tempo.