Informações de data, hora, temperatura, pressão, umidade, coordenadas de um acelerômetro e ainda alertas para o usuário. Às vezes queremos (ou precisamos) exibir tantas informações em um display que os mais comuns, de 16×2, se tornam limitados. Vamos mostrar então um exemplo de como usar o display LCD 20×4 com Arduino, um display com mais que o dobro de espaço para mostrar informações.

Vamos primeiro dar uma olhada nas conexões desse tipo de display.
Conexão do display LCD 20×4 com arduino
Não há muito segredo para conectar um LCD 20×4. Fisicamente as conexões são iguais às outras encontradas em displays LCD 16×2. São 16 pinos para conexão, sendo que o pino mais à esquerda (Vss), é o pino 1:
A ligação básica deste LCD ao Arduino utiliza somente 4 pinos de dados e 2 de controle, na seguinte ordem:
Seguindo a tabela, o nosso circuito de conexão do display ao Arduino Uno fica desse jeito. O potenciômetro de 10 K (ou outro valor de sua preferência) serve para ajustar o contraste do LCD. A intensidade da luz de fundo pode ser controlada adicionando um resistor ao pino 16:
O LCD 20×4 também utiliza a biblioteca LiquidCrystal, bastando alterar os parâmetros de inicialização no comando lcd.begin, indicando que agora estamos utilizando um display com 20 colunas e 4 linhas:
lcd.begin(20,4);
Basicamente esta é a única alteração necessária. Depois disso, você pode utilizar o comando lcd.setCursor para posicionar os caracteres dentro das 20 colunas (numeradas de 0 a 19), e 4 linhas (numeradas de 0 a 3):
//Programa: Teste LCD 20x4 Arduino
//Autor: Arduino e Cia
//Carrega a biblioteca do LCD
#include <LiquidCrystal.h>
//Inicializa o LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
//Define o LCD com 20 colunas e 4 linhas
lcd.begin(20, 4);
//Mostra informacoes no display
lcd.setCursor(3,0);
lcd.print("Arduino e Cia");
lcd.setCursor(2,1);
lcd.print("Display LCD 20x4");
lcd.setCursor(1,3);
lcd.print("arduinoecia.com.br");
}
void loop()
{
//Seu codigo aqui
}
Com mais espaço no display você pode usar as informações do post LCD 16×2 + RTC + Numeros Grandes, para criar, por exemplo, um relógio com hora, data, e informações de temperatura, com um layout parecido com esse:
Confira também outros posts utilizando displays aqui mesmo no Arduino e Cia!