
1. Display de Cristal Líquido
Um display de cristal líquido (LCD - Liquid Crystal Display) é uma interface de saída amplamente utilizada em sistemas embarcados para fornecer informações visuais ao usuário de forma conveniente e econômica, permitindo padrões de exibição flexíveis com baixo consumo de energia.
1.1 Tipos de Displays
Os módulos LCD podem ser classificados em dois tipos principais:
- Alfanuméricos (ou de caractere): Destinados à exibição de letras, números e símbolos pré-definidos. São especificados pelo número de colunas e linhas, sendo os modelos 16 × 2 (16 caracteres por 2 linhas) e 20 × 4 os mais populares.
- Gráficos (GLCD): Compostos por uma matriz de pontos (pixels), como o modelo de 128 × 64, que permitem a criação de figuras, ícones e fontes customizadas.
1.2 Hardware e Conexão
A maioria dos displays alfanuméricos utiliza o controlador Hitachi HD44780, que se tornou um padrão de mercado. Para utilizá-lo, é necessário conectar os seguintes pinos:
- Alimentação e Contraste: VSS (GND), VDD (VCC) e VEE, que deve ser ligado a um trimpot de 10kΩ para ajustar a visibilidade dos caracteres.
- Controle: RS (Register Select - define se o dado é instrução ou caractere), R/W (Read/Write - geralmente aterrado para modo de escrita) e E (Enable - habilita a leitura dos dados pelo LCD).
- Barramento de Dados: Composto pelos pinos DB0 a DB7.
1.3 Modos de Operação e Interface
Existem duas formas principais de interface paralela para displays alfanuméricos:
- Interface de 8 bits: Utiliza todos os pinos de dados (DB0-DB7).
- Interface de 4 bits: Envia o byte de dado em duas partes (nibbles) utilizando apenas os pinos DB4 a DB7. Esta forma é a mais recomendada, pois libera 4 pinos de E/S do microcontrolador para outras tarefas.
1.4 Lógica de Utilização e Programação
Para que o LCD funcione corretamente, o firmware deve seguir uma sequência lógica rigorosa:
- Inicialização: Após ligar a alimentação, deve-se aguardar um tempo de estabilização (aprox. 15ms) e enviar uma sequência específica de comandos para configurar o modo de bits (4 ou 8), o número de linhas e o estado do cursor.
- Escrita de Dados: Para exibir um caractere, coloca-se o pino RS em nível alto (1), carrega-se o valor ASCII no barramento e gera-se um pulso no pino Enable (levar a 1 e depois a 0).
- Comandos: Para limpar a tela ou mover o cursor, o processo é o mesmo, mas com o pino RS em nível baixo (0).
- Arduino: A plataforma facilita o uso através da biblioteca
LiquidCrystal.h, que abstrai a complexidade do protocolo Hitachi, permitindo comandos simples comolcd.begin(colunas, linhas)elcd.print("texto").
| Figura 1: Simulação de acionamento manual e inserção de caracteres |
|---|
![]() |
| Fonte: Autor (SimulIDE-1.1.0-SR1) |
Além dos caracteres padrão, esses dispositivos possuem uma memória chamada CGRAM, onde o programador pode criar até oito caracteres especiais personalizados em uma matriz de 5 × 8 pixels.
| Figura 2: Mapa de caracteres |
|---|
![]() |
| Fonte: Sparkfun - Hitachi |

