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!