quinta-feira, 25 de janeiro de 2018

Calibração de sensor de PH com Arduíno

Em todas as soluções que utilizamos em nosso dia a dia desde produtos alimentícios até produtos de limpeza ou cosméticos possui um valor de PH que vai de 0 que é muito ácido até 14 que é muito alcalino, o vinagre por exemplo de P.H. em torno de 2,9.

Existe alguns equipamentos para realizar leituras desses valores de P.H. para em seguida fazermos as correções, o P.H. neutro é 7, sendo este o ideal para utilizarmos em produtos de limpeza sem agredir as mãos ou na água potável que utilizamos para nós hidratar.

Veremos aqui uma das melhores formas de calibrar módulos de P.H. chineses, esses módulos ou sensores de P.H. são utilizados com o Arduíno e nos primeiros testes se mostraram bastante eficientes.


No vídeo abaixo podemos ver como é feita a calibração.      



O código logo abaixo foi encontrado no foram do Arduíno, caso queira acompanhar a discussão é só clicar nesse link. 


/*
 * Modificado por Projeto Básico
 * www.youtube.com/c/projetobasicos
 * www.rpsilva100.blogspot.com
 * codigo original disponivél em
 * https://forum.arduino.cc/index.php?topic=336012.0
 *
 */

int ph_pin = A0; //This is the pin number connected to Po

void setup() {
  Serial.begin(9600);
  Serial.println("         Projeto basico");
  Serial.println("www.youtube.com/c/projetobasicos");
  }

void loop() {
  int measure = analogRead(ph_pin);
  Serial.print("Measure: ");
  Serial.print(measure);

  double voltage = 5 / 1024.0 * measure; //classic digital to voltage conversion
  Serial.print("\tVoltage: ");
  Serial.print(voltage, 3);

  // PH_step = (voltage@PH7 - voltage@PH4) / (PH7 - PH4)
  // PH_probe = PH7 - ((voltage@PH7 - voltage@probe) / PH_step)
  float Po = 7 + ((2.5 - voltage) / 0.18);
  Serial.print("\tPH: ");
  Serial.print(Po, 3);

  Serial.println("");
  delay(2000);
}


Quando o P.H. estiver em 7 o pino Po do módulo P.H. deverá estar com 2.5 voltes, no código quando Po for 7 a variável Po deve estar em 0 voltes, nesta linha 

* float Po = 7 + ((2.5 - voltage) / 0.18);*


A variável possui 2,5 voltes constantes e tem uma redução da porta Po, sendo assim, quando o valor do pino for 2,5 voltes- a constante de 2,5 V o resultado vai ser 0, se a tenção do pino resultar em valores negativos o P.H. será ácidos, caso contrário o valor sera alcalino. 

Caso tenham alguma duvida perguntem nos comentários.


Obrigado.  

29 comentários:

  1. minimo que cheguei rodando o potenciomentro foi 2.524 nao chega a 2.5v, por que será?

    ResponderExcluir
  2. ola, como posso mostrar este valor em um display lcd? obrigado.

    ResponderExcluir
    Respostas
    1. Ola! Obrigado por acompanhar nossos conteudos.

      Você vai precisar da biblioteca do LCD,onde estiver escrito serial.print();
      Você irá colocar lcd.print();

      Excluir
  3. como posso usar o sensor de temperatura? O sensor fica no própria sonda? obrigado.

    ResponderExcluir
    Respostas
    1. O sensor fica na plaquinha, nao chegamos a testar.

      Excluir
    2. oi, tem video testando o ph e temperatura?

      Excluir
    3. Olá!

      Infelizmente não tenho no momento.

      Obrigado por acompanhar nossos conteúdos.

      Excluir
  4. o meu measure fica em 1024 e não consigo alterar a Voltage que sempre permaneçe em 5 volts o que pode ser, estou usando a esp8266.

    ResponderExcluir
    Respostas
    1. Estou com o mesmo problema, comprei mais uma placa e mesma coisa T.T

      Excluir
  5. Olá, obrigado por acompanhar nosso conteúdo!

    Você tentou fazer o teste em algum Arduíno?

    Vc tem que ligar em uma porta analógica.

    O esposo trabalha com 3,3v, tem que levar isso em consideração para não danificar o esp.

    Tenta usar um Arduíno para calibrar, se funcionar tem que rever a utilização do esp.

    ResponderExcluir
  6. Ola saberia me informar como eu reponho o liquido interno desse eletrodo?

    ResponderExcluir
  7. Tem uma cópia da programação que usou no arduino iria ajudar muito no trabalho da feira de ciencias:,
    :

    ResponderExcluir
  8. Olá, o código é esse que está acima, é só copiar e colar no Arduino.


    Caso não consiga me envie um e-mail.

    projetobasico100@gmail.com

    ResponderExcluir
  9. Boa Tarde!! Estou utilizando o ESP8266 NodeMCU, porém não estou conseguindo calibrar o Sensor. A voltagem sempre fica sempre na casa do 0.015 ou 0.030. O que eu faço para chegar a 2.5?

    ResponderExcluir
    Respostas
    1. Boa tarde!

      Eu ainda não trabalhei com ESP8266, ele trabalha com 5 ou 3,3V?

      Excluir
  10. Boa Tarde,

    Eu estou tentando fazer uma analise da programação, você saberia dizer na linha
    "float Po = 7 + ((2.5 - voltage) / 0.18);*"
    Porque utilizamos o 0,18???
    desde de já obrigada!

    ResponderExcluir
  11. Boa noite!

    Este valor de 0,18 corresponde a um passo de graus, no caso 0,18v aumenta 1 grau no pH.

    Neste forum você pode encontrar mais detalhes.

    https://forum.arduino.cc/index.php?topic=336012.0

    Espero que tenha auxiliado.

    ResponderExcluir
  12. Olá! Como faço para o sensor acionar um LED caso o ph esteja ácido ou neutro?

    ResponderExcluir
    Respostas
    1. Olá, desculpa a demora em responder.

      if (Po>=7)
      digitalWrite(13,HIGH);

      Acrescente essa linha, no lugar do 7 você adiciona o ph que vc quer comparar, o pino 13 é o que contém o LED.

      Excluir
  13. Olá, eu segui o seu tutorial, muito obrigado mesmo por compartilhar o vídeo.
    Eu comprei a mesma placa que vc está utilizando da DIY More, mas o meu não está atingindo 512 na leitura durante a configuração, no multímetro até bate 2.50 mas na conversão A/D não chega a 512 :/
    O que vc fez para chegar a dar certo?

    ResponderExcluir
  14. Olá, desculpa pela demora em responder.

    Teria que ver o seu problema, se seguiu o tutorial deveria funcionar, qual o valor que ele está mostrando?

    ResponderExcluir
  15. Caro Rodrigo

    Não consigo calibrar. Já fui ao fim de curso do regulados mas o valor não ultrapassa o PH de 4.884 com voltgem de 2.881
    O que pode estar acontecendo?

    ResponderExcluir