Medidor de pH com Arduino UNO e display LCD

Resumo

      Neste artigo estarei apresentando uma solução bastante simples para quem necessita de um medidor de pH em seus projetos, que servirá para monitorar piscinas, caixas d’água, hidroponia, aquários, entre outros. Foi utilizado um sensor de pH que possui interface de comunicação serial, conectado ao Arduino UNO  e um display LCD alfanumérico para visualização dos dados lidos. 

Introdução

      O potencial de hidrogênio iônico pH é a medida que indica se uma substância aquosa está ácida ou alcalina. A alcalinidade é uma medida da capacidade da água de neutralizar os ácidos, nela contidos.
      O parâmetro pH é importantíssimo para garantir a saúde de plantas, animais e nós seres humanos, pois em ambos, os efeitos de uma água ou sangue com pH muito baixo (muito ácido), favorece o desempenho de doenças.

      Para o SI (Sistema Internacional de Unidades) o pH não possui unidade de medida, é apenas uma escala que vai de 0 a 14, onde a interpretação do valor medido é feita conforme mostra a figura abaixo.

      Valores de pH de 3 até 5 são considerados ácidos fracos, valores abaixo de 3 são considerados ácidos fortes, impróprio para qualquer natureza de consumo. Valor de pH exatamente em 7, indica uma substância neutra, ou seja, nem ácida e nem alcalina, e valores acima de 7 indica uma substância alcalina, também considerado impróprio para consumo. O valor ideal pode ser considerado entre 6,5 à 7. Por curiosidade uma célula do corpo humano considerada saudável, possui um valor de pH em aproximadamente 7,35.

Hardware

      Foram utilizados os seguintes módulos para a montagem do projeto:

  • Arduino UNO
  • Display LCD Alfanumérico 16×2
  • Kit sensor de pH da Atlas Scientific
  • Mini protoboard
 
O sensor de pH
 
      O sensor de pH escolhido para este projeto, é fabricado pela Atlas Scientific, esta empresa possui diversos tipos de sensores e todos eles possuem interface de comunicação digital do tipo UART e/ou I2C, tornando-se ideal para o uso em sistemas embarcados. Infelizmente o preço não é tão acessível para que possamos construir um produto, porém, é uma boa solução para implementar novas ideias.
      Na figura abaixo podemos ver a forma de ligação entre este sensor e um microcontrolador qualquer, e para este projeto não foi necessário conversor de nível lógico, pois o mesmo trabalha com tensões de 3.3V a 5V, o que é compatível com a placa Arduino UNO.
 
 
 
      Abaixo temos o esquema elétrico completo que mostra as ligações entre os módulos e o Arduino, que podem ser feitas utilizando os fios “jumpers” muito comum nas montagens que utilizam Arduino. 
 
 
      Todos os módulos são alimentados pela linha de 5v da placa Arduino, o que dispensa a necessidade de uma fonte externa, porém se quiser usar com uma fonte externa, uma de 7,5v até 12v x 500mA é suficiente para o bom funcionamento do circuito. 
 
Firmware
 
      Foi utilizada a biblioteca LiquidCrystal para controle do display LCD e a biblioteca SoftwareSerial para controle do sensor de pH através de uma SoftUart (pHSerial), configurada para 38400bps, que é a velocidade padrão do sensor.
      Todos os comandos necessários para a comunicação com o sensor de pH estão descritos no data sheet, e desses nós só precisamos do comando “C\r”, que coloca o sensor em modo de leitura continua. 
      Abaixo, um trecho do código fonte responsável pela leitura do sensor, e no final do artigo pode ser feito o download do firmware completo. 
  

Resultado

Conclusão

      Este artigo demonstrou de forma simples, a implementação de um medidor de pH utilizando Arduino UNO, e mesmo não tendo feito um comparativo com um outro tipo de medidor, o fabricante garante que o sensor é bastante preciso, desde que esteja bem calibrado.
      O sensor utilizado neste projeto ainda é da primeira versão lançada pela Atlas, que hoje dispõe de uma nova versão que possui isolamento total entre a sonda e o circuito de controle, garantindo que nenhuma “sobrecarga” influencie na resposta do sensor, melhorando a precisão da leitura.

Downloads

pHMeter.ino

38 thoughts on “Medidor de pH com Arduino UNO e display LCD

  1. ótimo projeto, o mesmo me auxiliará na criação do meu projeto de análise de químico revelador, para análise da qualidade do mesmo. Desde já agradeço o vídeo e a explicação do passo a passo. Obrigado.
    Aroldo Santos
    Estudante de Engenharia Clínica e técnico em equipamentos biomédicos do IFB DF.

  2. Buenas noches escribí desde Colombia y tengo una inquietud acerca de un proyecto que estoy haciendo, que consiste en realizar un medidor de pH con un sensor de medición de pH, una lámpara y un Lcd con módulo i2c, lo que pasa es que ya tengo las dos las programaciones de la pantalla y del sensor, pero necesito saber cómo puedo hacer para medir la solución con el sensor, me marque en el lcd.
    Es urgente ya que este proyecto definirá mi graduación.
    Lo siguiente es la programación del sensor de pH: // pHRead.ino // Constantes: –
    const byte pHpin = A0; // Conecta la salida Po del sensor al pin análogo 0. // Variables: –
    float Po;
    void setup () {
    Serial.begin (9600); }
    void loop () {
    Po = (1023 – analogRead (pHpin)) / 73.07; // Lee e invierte el valor de entrada analógica del sensor de pH y luego escala 0-14.
    Serial.println (Po, 2); // Imprime el resultado en el monitor serie.
    retraso (1000); // Tome 1 lectura por segundo. }
    A continuación sigue la programación básica del LCD con el módulo I2C:
    #include
    #include
    LiquidCrystal_I2C lcd (0x27, 16, 2); void setup () { Wire.begin (); lcd.begin (16, 2); lcd.clear (); LCD luz de fondo(); lcd.setCursor (5, 0); lcd.print (“Hola”); lcd.setCursor (5, 1); lcd.print (“mundo”); // lcd.noBacklight (); }
    void loop () { } Enlace del proyecto que encontré por Internet aquí abajo:
    https://www.youtube.com/watch?time_continue=56&v=i8eeKzX5ehs

    1. Desculpe amigo, não entendi muito bem o seu problema. No vídeo q vc indicou o cara usa um sensor Analógico, que é bem diferente desse sensor q eu utilizei neste artigo.
      Infelizmente nunca trabalhei com esse sensor de pH analógico, nem sem como lhe ajudar. peço desculpas.

      Grato: PaulinoJr.c

  3. Paulino tudo bom?
    estou com dificuldade na mudança desse codigo que vc fez pq o que tenho aqui eu não uso as portas rx e tx o meu amplificador de impedância e diferente logo usou outras portas mas quando tento mudar a programação não funciona nada vc poderia me ajuda?

    1. Olá!

      Eu utilizei uma uart por software, e caso vc esteja utilizando uma uart real, não irá funcionar com esse meu código.
      Você encontra na própria IDE do Arduino, exemplos de utilização da uart real de hardware.
      Grato: PaulinoJr.c

        1. Olá, Eu não comprei aqui, comprei na SparkFun, mas procure por uma empresa chamada Acqua Nativa aqui do brasil que eles me informaram que são revendedores da Atlas Scientific aqui. Boa sorte!

  4. Olá PaulinoJr.c !!!!
    Parabéns pelo seu trabalho , não tem idéia de como está me ajudando …
    Você pode passar um link onde compro o kit ?

  5. Se eu quiser utilizar para medição continua em piscina ou sistema de hidroponia em estufas, é possível? aqueles frascos coloridos que vem é para calibrar apenas? Gostaria de automatizar sem que tenha que ficar tendo manuseio humano. Parabéns pelo projeto.

    1. Sim vc pode, eu utilizei este sensor na solução nutritiva da minha hidroponia por 2 anos, sim os frascos são para calibrar, é importante calibrar de 3 em 3 meses dependendo da utilização. O meu sistema coletava os dados do sensor e enviava para um PC via ZigBee que armazenava os dados num banco de dados, tudo automático.

      1. Muito legal queria utilozar para hidroponia, talvez adaptar um sistema pra correcao do ph automaticamente introduzindo o acido, sabe de algum.sistema de leitura como esse pra condutivodade eletrica tbem?

    1. Não, pois as sondas são diferentes, mas vc pode comprar um para condutividade elétrica também desse mesmo fabricante, entre no site da Atlas Scientific que vc encontra o sensor de CE.

  6. Gostaria de saber qual seria a durabilidade dele se usado 24/7 em baixo da água ou ele não é para este porposito?

    1. Ele pode ser utilizado totalmente mergulhado na água cobrindo a sonda totalmente. A durabilidade é de 3 anos segundo o fabricante e nos meus testes durou exatamente isso.

    1. Valeu!
      Este é apenas um tutorial, apenas para demonstração, já no sistema que utilizei na minha hidroponia, enviava a leitura de seis sensores para um banco de dados remoto, utilizando ZigBee e depois era possível visualizar através de gráficos.

    1. Acredito que não, pois para medir um parâmetro, é necessário sempre um sensor dedicado a esta tarefa. Mas é possível confeccionar um sensor de pH, porém a precisão não será das melhores.

  7. Olá, eu estou desenvolvendo um trabalho semelhante, mas ao invés de ser sensor de PH, trata-se de um sensor de condutividade. Poderia entrar em contato comigo para tirar algumas dúvidas?

    Desde já, muito obrigado.

    1. Consulte o site do fabricante, lá tem o sensor de EC e neste caso basta trocar os comandos no código conforme o data sheet do sensor, a montagem do circuito será a mesma.

  8. Olá Paulino, Tudo certo? Parabéns pelo projeto. Gostaria de saber se você tem algo voltado ao monitoramento de Cloro ou conhece algum local que possa me auxiliar no desenvolvimento de um sistema para esse tipo de monitoramento, igual a este de pH, porém para monitoramento de Cloro.

    Grande abraço, grato desde já!

  9. Gostaria de utilizar em aquários para o controle do PH, é possível acrescentar um acionamento para uma bomba que bombei água no sistema para o controle do PH?

  10. Muito bom Paulino, não sabe o quanto isso esta me ajudando. Eu tenha uma grande duvida…
    Preciso fazer a leitura do PH pelo arduino, mas com o controle no CLP (Clic 02 weg), você sabe como poderia ser possível a conexão entre os dois?

    1. Olá, infelizmente não sei nada de CLP, mas pra fazer uma interface você precisa de algum periférico no CLP, tipo uma UART ou um I2C, USB, pra vc conseguir fazer eles trocarem comandos, aí o CLP manda um comando de leitura pro Arduino e o Arduino devolve os dados lidos do sensor para o CLP, por exemplo.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *