Display Nokia 5110
O display Nokia 5110 é um display LCD monocromático com 84x48 pontos, com uma interface serial. O modelo testado foi adquirido na Sparkfun e está montado em uma placa que permite usar conector padrão de .1".
O ponto de partida para os testes foi um exemplo do Arduino Playground.
Descrição do Funcionamento do Display
Informações detalhadas podem ser vistas no datasheet.
Comunicação Serial
Na comunicação o display pode receber comandos ou dados, o que é selecionado pelo sinal D/C (0 é comando, 1 é dado). O sinal SCE deve ser colocado em 0 para iniciar a recepção e os 8 bits de dados devem ser enviados serialmente através de SDIN, pulsando SCLK para cada bit. Ao final SCE deve ser retornado ao nível 1. O sinal D/C é verificado no último bit de dados (no código de exemplo ele é posicionado antes de baixar SCE).
Memória da Tela
Internamente ao controlador existe uma memória que armazena o conteúdo da tela. Cada ponto da tela corresponde a um bit nesta memória. Os bytes estão organizados "na vertical": cada byte controla 8 pontos em 8 linhas da mesma coluna. Desta forma a memória é uma matriz de 6 linhas de 84 bytes:
Comandos
A interpretação dos comandos depende de um modo interno do controlador: conjunto básico (H=0) e conjunto estendido (H=1).
Os comandos abaixo independem do modo:
NOP 0 0 0 0 0 0 0 0 Function Set 0 0 1 0 0 PD V H
PD: 1 controlador desligado (Power down), 0 controlador ativo V: 1 endereçamento vertical, 0 endereçamento horizontal H: 1 conjunto estendido, 0 conjunto básico
Os comandos do conjunto básico são:
Display Control 0 0 0 0 1 D 0 E Set Y Address 0 1 0 0 0 y y y Set X Address 1 x x x x x x x
DE: 00 display apagado, 01 todos elementos acesos, 10 modo normal, 11 reverso yyy: endereço Y (0 a 5) xxxxxxx: endereço X (0 a 83)
Os comandos do conjunto estendido são usados para configuração:
Temperature control 0 0 0 0 0 1 t t Bias system 0 0 0 1 0 b b b Set Vop (contraste) 1 v v v v v v v
Conexão do Display ao Arduino
A conexão está descrita no início do programa exemplo:
Display | Arduino |
---|---|
1 - VCC | +5V |
2 - GND | GND |
3 - SCE | DIGITAL 7 |
4 - RST | DIGITAL 6 |
5 - O/C | DIGITAL 5 |
6 - DIN | DIGITAL 4 |
7 - SCLK | DIGITAL 3 |