Sensor de temperatura gráfico com Arduino e LCD 16×2

Dando continuidade ao artigo Sensor de temperatura e umidade no Arduino, hoje vamos ver como utilizar um LCD 16×2 para exibir a temperatura e a umidade capturada pelo sensor DHT11.

A grande diferença entre o artigo anterior e este é o uso do LCD, sendo assim, não há necessidade de conectar o Arduino ao PC só para saber a temperatura.

Material utilizado

Praticamente todo o material pode ser encontrado na FILIPEFLOP.

A FILIPEFLOP é uma das maiores lojas de componentes eletrônicos do Brasil com diversos produtos online e ótimos preços. Em sua loja virtual você vai encontrar diversos componentes eletrônicos como Arduino, Raspberry Pi, Motores, Sensores e materiais para Robótica com envio para todo Brasil.

Código

Seguindo os passos do artigo anterior, necessitamos a biblioteca da Adafruit para trabalhar com os sensores DHT11, DHT21, DHT22 e AM2301.

Após isto vamos ao código fonte.

Analisando o código, ao criar o objeto dht passamos o pino do Arduino onde esta o sensor e o seu tipo. Já no lcd devemos passar os pinos onde estão ligados os pinos rs, rw, enable, d4, d5, d6 e d7 do LCD.

Outro item interessante é a criação de caracteres no LCD. Como você pode observar possuímos 3 que são: temperatura, umidade e grau. Para criar um caractere usamos a função createChar do LCD, passando um ID e o array de bytes.
Se você deseja criar seu próprio caractere, recomendo o site Custom Character Designer para lhe ajudar.

Montagem

Agora que temos o código, vamos montar as peças do quebra-cabeça.

LCD DHT11

Como você pode observar, temos um potenciômetro para controlar o contrate da tela, regule conforme você precisar até que o texto seja legível. Os dois últimos pinos (A, K ou Led+, Led-) são para ligar a luz de fundo do LCD e facilitar a leitura.

Resultado

Arduino LCD 16x2 DHT11 Sensor

Espero que vocês tenham gostado. Até a próxima.

  • Raphael Pizzatto Trajano

    Ola amigo tudo bom? Pode me dar uma dica?

    Primeiramente parabéns pelo projeto, achei muito legal colocar os Icones.
    Eu fiz o projeto com algumas alterações, mas basicamente meu problema é que quando o valor da variavel de temperatura e umidade são exibidos no LCD eles tem 2 casas decimais ocupando espaço a toa no LCD… queria q eles ficassem inteiros como vc fez.

    Declarei elas como INT, como FLOAT. Removi e coloquei o DEC dentro do parametro e nada adianta…
    Tem alguma luz para forçar imprimir apenas 2 caracteres?

    Muito obrigado.
    Att
    Raphael Trajano

  • Raphael Pizzatto Trajano

    Ola amigo tudo bom? Pode me dar uma dica?

    Primeiramente parabéns pelo projeto, achei muito legal colocar os Icones.
    Eu fiz o projeto com algumas alterações, mas basicamente meu problema é que quando o valor da variavel de temperatura e umidade são exibidos no LCD eles tem 2 casas decimais ocupando espaço a toa no LCD… queria q eles ficassem inteiros como vc fez.

    Declarei elas como INT, como FLOAT. Removi e coloquei o DEC dentro do parametro e nada adianta…
    Tem alguma luz para forçar imprimir apenas 2 caracteres?

    Muito obrigado.
    Att
    Raphael Trajano

  • Raphael Pizzatto Trajano

    Ola amigo tudo bom? Pode me dar uma dica?

    Primeiramente parabéns pelo projeto, achei muito legal colocar os Icones.
    Eu fiz o projeto com algumas alterações, mas basicamente meu problema é que quando o valor da variavel de temperatura e umidade são exibidos no LCD eles tem 2 casas decimais ocupando espaço a toa no LCD… queria q eles ficassem inteiros como vc fez.

    Declarei elas como INT, como FLOAT. Removi e coloquei o DEC dentro do parametro e nada adianta…
    Tem alguma luz para forçar imprimir apenas 2 caracteres?

    Muito obrigado.
    Att
    Raphael Trajano