Display LCD 16×2 – 1602

Display LCD 16×2 – 1602

Este e um dos displays mais baratos de todo o mundo e muito empregado em toda indústria e também na maioria dos equipamentos, este display é muito compacto e a maioria dos microcontroladores possuem bibliotecas para trabalhar com este display.

O display LCD 1602 possui 16 colunas e 2 linhas que pode exibir no total de 32 caracteres de informação simultaneamente e cada carácter possui 5 colunas e 8 linhas que funciona como uma matriz.

Linhas e colunas de uma matriz de um caractere.
Modelo1602 ou 1602A
Resolução16 colunas por 2 linhas
Caractere: 5 colunas por 8 Linhas
40 pixel por caractere, 1280 pixel total
Controlador ICST7066, HD44780, KS0066, AT89C51
ou equivalente
Tensão de Alimentação3,3V ou 5V (depende do controlador)
3,3V (ST7066)
5V (HD44780 e KS0066)
Corrente de
Consumo Média
2,5mA + 20mA (LED)
Frequência de OperaçãoMáximo de 40MHz (ST7066)
Temperatura de Operação0°C até +50°C (ST7066
-20°C até +70°C (HD44780)
Dimensões80mm X 36mm X 12mm

Modelos de Modulo LCD conhecidos: RT162-7, ADM1602K-NSW-FBS/3.3v, DG6894A0, Hitachi HD44780, WH1602W, JHD162A e etc. Abaixo segue os datasheets de alguns modelos:

ícone

Display 16×2 – ADM1602K-NSW-FBS/3.3v 896.67 KB 97 downloads

Datasheet do display monocromático 1602 modelo ADM1602K com o controlador ST7066 …
ícone

Display 16×2 – JHD162A 260.83 KB 72 downloads

Datasheet do display monocromático 1602 modelo JHD162A com o controlador AT89C51…
ícone

Display 16×2 – LCD-016M002B 89.29 KB 28 downloads

Datasheet do display monocromático 1602 modelo LCD-016M002B com o controlador KS…
ícone

Display 16×2 – RT162-7 76.20 KB 41 downloads

Datasheet do display monocromático 1602 modelo RT162-7 com o controlador HD44780…
ícone

Display 16×2 – 1602A-1 367.66 KB 81 downloads

Datasheet do display monocromático 16×2 modelo 1602A-1 com o controlador ST7066…

O modelo mais comum é o com fundo verde e caracteres em preto. A luz de fundo (backlight) é um opcional desse tipo de display, porém a maioria vem com a luz de fundo que feita por um LED lateral que acionado pelo dois últimos pinos.

Existem diversos tipos de modelos no mercado com diversas cores, porém o preço varia conforme a cor, a cor azul é quase do mesmo preço que a verde, mas as outras cores como fundo preto e com caracteres de outras cores como branco, verde, laranja e vermelho chegam a custar mais que o triplo. E também uma novidade é o display com luz de fundo RBG onde você pode variar as cores da iluminação de fundo

Existem outras variações deste tipo de display monocromático como 20×4, 8×2, 40×2 e entre outros, alterando assim o tamanho do LCD.

Visão da parte Inferior do LCD

Caracteres

É possível criar novos caracteres além dos caracteres que já vem na memória interna do LCD, estes caracteres tem que ser desenhado através do código de programação.

Tabela de Caracteres disponíveis internamente na memória do LCD.

Para criar um novo caractere exitem sites onde é possível você desenhar seu caractere personalizado e obter o código facilmente como o maxpromer do Github que é um gerador de caractere e já lhe informa o código pronto para o arduino

Gerador de Caractere para display 16×2

O código é gerado em estilo matriz binária, onde cada 0 e 1 é uma coluna de cada linha escrita, para o desenho formado acima temos a matriz:

byte customChar[] = {
  B10100,
  B01000,
  B10100,
  B00000,
  B00110,
  B00101,
  B00110,
  B00100
};

o “customChar” pode ser personalizado para qualquer nome e você deve chamalo em seu código no void_loop(); ou void_setup(); através:

  lcd.createChar(0, customChar);
  lcd.write(0);

Outra informação interessante é que o display pode ser utilizado sem nenhum microcontrolador porém não há tanta serventia além de escrever em sua tela, pois ele não armazena nada em sua memória, quando desligando ele irá zerar as informações digitadas. Veja um vídeo que o YouTuber “The 8-Bit Guy” fez somente utilizado o LCD e alguns componentes eletrônicos sem nenhum microcontrolador.

Parte 1 do experimento do The 8bit Guy (vídeo em Inglês, possui legenda em Português)

Pinagem

Pinagem do LCD 16×2 (créditos: components101.com)
PinoSimboloDescrição
1VSS ou GNDComum (Ground) (-)
2VDD ou VCCAlimentação (+) do Controlador
3VOAjuste de Contraste
4RSSeleção de Sinal de
Dados ou Instrução
5R/WSeleção de Sinal de
Leitura ou Escrita
6EHabilitação de Sinal
7~14DB0~DB7Entrada de dados
Modo de 8bits
15AAlimentação Positiva do LED +
16KAlimentação Negativa do LED –

Modo 4bits

O modo de 4bits utiliza poucos pinos do microcontrolador para executar as operações, porém tem o custo do desempenho ser menor do que o modo 8bits dependendo da tarefa em que irá ser empregada não é perceptível essa diferença.

Esquema de ligação modo 4bits (Créditos: www.filipeflop.com)

Este modo utiliza no total de 6 pinos do microcontrolador tanto se for Arduíno, ESP32 ou um PIC, se comparado com o ST7920, temos dois pinos sendo utilizados a mais.

#include <Arduino.h> 
#include <LiquidCrystal.h> 

// inicializar a biblioteca associando qualquer pino de interface LCD necessário
// com o número do pino arduino está ligado a
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // configurar o número de colunas e linhas do LCD:
  lcd.begin(16, 2);
  // Imprima uma mensagem no LCD.
  lcd.print("ola, mundo!");
}

void loop() {
  // coloque o cursor na coluna 0, linha 1
  // (nota: a linha 1 é a segunda linha, já que a contagem começa com 0):
  lcd.setCursor(0, 1);
  // imprime o número de segundos desde a redefinição:
  lcd.print(millis() / 1000);
}

Modo 8bits

Alem do modo 4bits temos o modo 8 bits esté modo só é util quando se precisa de uma resposta rápida no LCD, um exemplo é a exibição em tempo real de várias variáveis ao mesmo tempo

Comparação entre os modos 8bits e 4 bits (créditos: www.microcontroller-project.com)

Este modo é 2x mais veloz do que o modo 8bits devido a ter mais dados sendo recebidos simultaneamente, porém o custo e que necessita mais pinos do microcontrolador que chega a 10 pinos, este ponto negativo pode ser contornado pelo uso de multiplexadores (I2C)

Esquema de ligação modo 8bit (Créditos: www.electronicwings.com)
#include <LiquidCrystal.h>  
   
//Habilite a linha abaixo se for usar o display no modo 8 bits  
LiquidCrystal lcd(12, 11, 6, 7, 8, 9, 5, 4, 3, 2); //Modo 8 bits  
   
   
void setup() 
{  
  // configurar o número de colunas e linhas do LCD: 
  lcd.begin(16,2);  
}  
   
void loop() 
{  
  // defina o cursor para (0,0):
  lcd.setCursor(0, 0);  
  // imprimir de 0 a 9:
  for (int thisChar = 0; thisChar < 10; thisChar++) {  
   lcd.print(thisChar);  
   delay(500);  
  }  
   
  // defina o cursor para (16,1):
  lcd.setCursor(16,1);  
  // defina a exibição para rolar automaticamente:
  lcd.autoscroll();  
  // print from 0 to 9:  
  for (int thisChar = 0; thisChar < 10; thisChar++) {  
   lcd.print(thisChar);  
   delay(500);  
  }  
  // desativar a rolagem automática
  lcd.noAutoscroll();  
    
  // limpar a tela para o próximo loop:
  lcd.clear();  
}

I²C

A multiplexação exige um conhecimento maior em programação ou então apelar para bibliotecas prontas para tornar a multiplexação mais fácil, um exemplo é o I2C do PCF8574A que é muito utilizado para diminuir para dois fios além de ser possível utilizar mais Displays nos mesmos pinos.

Esquema de ligação com o modulo I2C
#include <Arduino.h>  
#include <Wire.h>  
#include <LiquidCrystal_I2C.h>  

// Inicializa o display com o endereço 0x38
LiquidCrystal_I2C lcd(0x38,2,1,0,4,5,6,7,3, POSITIVE);
 
void setup()
{
 lcd.begin (16,2);
 lcd.setBacklight(HIGH);
}
 
void loop()
{
  lcd.setCursor(0,0);
  lcd.print("XProjetos.net");
  delay(1000);
  lcd.clear();
  lcd.setCursor(0,1);
  lcd.print("Ola, Mundo");
}

Fontes:

Licença CC 4.0

Creative Commons

O trabalho “Display LCD 16×2 – 1602” de JailsonBR está licenciado com uma Licença Creative Commons Atribuição 4.0 Internacional.


Jailson Oliveira

Sou Engenheiro Eletricista com Enfase em Eletrônica e Técnico em Eletrônica, gosto de estar praticando montagens de circuitos e também programar sistemas embarcados. Acredito que compartilhar informações gratuita gera mais informações novas por parte de outras pessoas.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *