fbpx
ArduinoNovidadeSimulação

Como utilizar o Display LCD 16×2 no Arduino

O Display é um dispositivo eletrônico que permite a interação visual entre o usuário e a máquina. Usando este componente é possível enviar textos, números, símbolos, imagens ou indicar o que o microcontrolador está executado, os dados que estão sendo coletados e / ou os dados que estão sendo transmitidos.

A Figura 1 apresenta um display LCD 16 x 2 (16 colunas e 2 linhas), que permite a escrita de caracteres, números e pequenos símbolos criados pelo usuário.

Mostrar como funciona um Display de maneira prática
Figura 1 – Display 16 x 2.

A proposta deste projeto é exibir uma mensagem no display LCD 16 x 2. Conforme mencionado anteriormente, este display possui 16 colunas e 2 linhas, sendo muito utilizado na interação homem – máquina em processos em que é necessário exibir informações em tempo real, como umidade, temperatura, pressão, corrente ou tensão, entre outras.

Neste projeto vamos utilizar o display LCD 16 x 2 em conjunto com a placa Arduino para exibir a seguinte mensagem:

“Testando LCD
Blog da Robótica”

MATERIAIS NECESSÁRIOS

ESQUEMÁTICO DE LIGAÇÃO DOS COMPONENTES

Conecte os componentes na protoboard como ilustra a simulação abaixo, utilizando a protoboard, o display, o resistor e os jumpers. Verifique cuidadosamente os cabos de ligação antes de ligar sua placa UNO. Lembre-se que a placa UNO deve estar desconectado enquanto você monta o circuito.

Ao montar seu circuito na protoboard preste atenção nos seguintes pontos:

  • O primeiro pino (VSS) do display deve ser conectado ao terra (GND);
  • O segundo (VDD) deve ser alimentado com 5 V;
  • O pino V0 é de ajuste do contraste do LCD e deve ser conectado ao terra (GND);
  • O pino RS (Register Select) deve ser conectado ao pino digital 12;
  • O pino RW (Read/Write) é utilizado para escolher se o display funcionará em modo de escrita (0, nível baixo) ou leitura (1, nível alto). Este pino deve ser conectado à porta digital 11;
  • O pino E ativa o display ao ser colocado em nível alto e desativa com nível baixo. Este pino deve ser conectado à porta digital 10;
  • Os pinos D0, D1, D2 e D3 não serão utilizados;
  • Os pinos D4, D5, D6 e D7 são pinos de dados e devem ser conectados aos pinos digitais 5, 4, 3 e 2, respectivamente;
  • O pino A do display é o ânodo do LED de iluminação e deve ser ligado ao pino 13, com um resistor de 1 kΩ;
  • O pino K é o cátodo do LED de iluminação e deve ser conectado ao GND.

ELABORANDO O CÓDIGO

1. Incluir a biblioteca LiquidCrystal:
A biblioteca LiquidCrystal permite que uma placa Arduino controle displays LCD baseados no controlador HD44780 ou compatível, usado em nosso Shield Display LCD. Essa biblioteca é nativa do Arduino IDE.
Para saber mais sobre a biblioteca acesse: www.arduino.cc/en/Reference/LiquidCrystal

2. Criar objeto do tipo LiquidCrystal
Em seguida, criaremos o objeto lcd, do tipo LiquidCrystal, e informamos quais os pinos que estão conectados ao display, no seguinte formato: LiquidCrystal lcd(<pino RS>, <Pino enable>, <Pino D4>,<Pino D5>, <Pino D6>, <Pino D7>);

3. Função setup()
No setup, definiremos backLight como saída e colocaremos ela em nível lógico alto (HIGH), para que o LED de fundo do display LCD ligue.
A função lcd.begin(16, 2); configura o número de linhas e colunas do display LCD que serão utilizadas. Por sua vez, a função lcd.clear(); limpa a tela do display, para que ele inicie sem nenhum texto.
Para iniciar a escrita no display LCD precisamos colocar o cursor na posição na coluna 0 e linha 0. Para isso, usaremos a função lcd.setCursor(0, 0);. A partir daí, escreveremos a primeira parte do texto, que será feita a partir da função lcd.print(“Testando LCD”);.
Em seguida, iniciaremos a comunicação serial a partir da instrução Serial.begin(9600);.

4. Função loop()
No loop, chamaremos a função que desliga o display lcd.noDisplay() e liga o display lcd.display();.

Assim sendo, o Sketch deste projeto terá a seguinte estrutura:

/*
  ---     COMO UTILIZAR O DISPLAY LCD 16 x 2     ---
  ==================================================
  == BLOG DA ROBOTICA - www.blogdarobotica.com ==
  ==================================================
  Autora: Carol Correia Viana
  E-mail: contato@blogdarobotica.com
  Facebook: facebook.com/blogdarobotica
  Instagram:@blogdarobotica
  YouTube: youtube.com/user/blogdarobotica
  ==================================================
*/


#include <LiquidCrystal.h> //Inclusão da Biblioteca
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

int backLight = 13;// pino 13 responsável pelo controle do LED

void setup() {
  pinMode(backLight, OUTPUT);
  digitalWrite(backLight, HIGH);// Liga backlight. Substituir 'HIGH' por 'LOW' para desligar a luz de fundo.

  lcd.begin(16, 2);//Colunas, linhas. Use 16,2 para display LCD 16x2
  lcd.clear();// Inicializa o display com uma tela vazia
  lcd.setCursor(0, 0);//Posiciona o cursor na coluna 0, linha 0 (primeira linha)
  lcd.print("Testando LCD");//Escreve o texto desejado

  lcd.setCursor(0, 1);//Posiciona o cursor para a coluna 0, linha 1 (segunda linha)
  lcd.print("Blog da Robotica");
  Serial.begin(9600);//Inicializa a comunicação serial em 9600 bits por segundo
}
void loop() {
  delay(1000);
  lcd.noDisplay();// Desliga Display:
  delay(1000);
  lcd.display();// Liga Display:
}

Espero ter ajudado,

Obrigada a todos e em caso de dúvidas deixe seu comentário abaixo!

Att. Carol Correia Viana

Dúvidas? Deixe seu comentário

Bacharel em Engenharia Elétrica com ênfase em Eletrônica, mestra em Engenharia Industrial e especialista em Docência com ênfase em Educação Inclusiva. Atua no setor de Desenvolvimento de Produtos na Casa da Robótica. Editora chefe e articulista no Blog da Robótica. Fanática por livros, Star Wars e projetos Maker.

Carol Correia Viana

Bacharel em Engenharia Elétrica com ênfase em Eletrônica, mestra em Engenharia Industrial e especialista em Docência com ênfase em Educação Inclusiva. Atua no setor de Desenvolvimento de Produtos na Casa da Robótica. Editora chefe e articulista no Blog da Robótica. Fanática por livros, Star Wars e projetos Maker.

Deixe uma pergunta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.