Display LCD com arduino

Hoje iremos demonstrar o funcionamento de um display LCD com Arduino.

Será utilizado o display LCD com tamanho de 16 caracteres por 2 linhas.

Utilizaremos também o sensor DHT11 para medição da temperatura e umidade do ambiente.

No artigo anterior que falamos do sensor DHT11 os dados foram exibidos no Serial Monitor da IDE do Arduino agora iremos exibir os dados no display LCD.

Para regularmos a luminosidade do display LCD utilizaremos um potenciômetro.

Display LCD 16×2

É um componente utilizado para exibir informações por via eletrônica.

DHT 11

O DHT11 é um sensor de temperatura e umidade que realiza leituras de temperaturas entre 0 a 50 graus e umidade entre 20 a 90%.

Potenciômetro

É um componente utilizado para limitar o fluxo de corrente elétrica em um circuito como se fosse um resistor. A diferença é que o potenciômetro permite ajuste manual e o resistor comum possui valor fixo representado pelo código de cores.

Lista de Componentes

  • 1 Placa arduino uno
  • 1 Cabo USB para o arduino
  • 1 Protoboard
  • 1 Display LCD 16 x 2
  • 1 Sensor de temperatura e umidade modelo DHT11
  • 1 Potenciômetro 10 k
  • 17 Fios jumper

Diagrama de Montagem

Display lcd com arduino_bb

Programação Arduino

A biblioteca LiquidCrystal por padrão já vem instalada na IDE do Arduino.

Fazer o download da biblioteca DHT no link https://github.com/adafruit/DHT-sensor-library

Descompatar o arquivo no diretório libraries da IDE do Arduino.

Renomear a pasta para DHT.

Manter no diretório libraries/DHT somente os arquivos DHT.cpp, DHT.h e a pasta examples como no exemplo abaixo:

/*
 Display LCD com Arduino
*/

//Carregamento de bibliotecas 
#include <LiquidCrystal.h>
#include <DHT.h>
 
//Pino de dados do sensor
#define DHTPIN A5
 
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);
 
//Pinos que serão ligados ao LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
 
//Array com o simbolo do grau
byte grau[8] ={ B00001100,
 B00010010,
 B00010010,
 B00001100,
 B00000000,
 B00000000,
 B00000000,
 B00000000,};
 
void setup()
{
 Serial.begin(9600); //Inicializa a serial
 delay(1000); //Aguarda 1 segundo antes de acessar as informações do sensor
 lcd.begin(16,2); //Inicializa LCD
 lcd.clear(); //Limpa o LCD 
 lcd.createChar(0, grau); //Cria o caractere customizado com o simbolo do grau
}
 
void loop()
{ 
 float t = dht.readTemperature();
 lcd.setCursor(0,0);
 lcd.print("Temperatura "); 
 lcd.setCursor(12,0); 
 lcd.setCursor(13,0);
 lcd.print(t,0);
 
 //Exibe simbolo com o grau
 lcd.write((byte)0); 
 
 float h = dht.readHumidity();
 lcd.setCursor(0,1);
 lcd.print("Umidade "); 
 lcd.setCursor(8,1);
 lcd.setCursor(13,1);
 lcd.print(h,0);
 lcd.print("%");
 
 delay(2000);
}

 

Projeto em Funcionamento

Gostou desse artigo participe deixando seu comentário com dúvidas ou sugestões.

Bons estudos.

Tagged as: