05 março 2013

Display LCD Winstar WH1602A

Hoje vou falar um pouco sobre a ligação do Display LCD Winstar WH1602A, como esse da foto :


display lcd 16x2

Comprei esse display pela internet, e como veio sem manual ou qualquer esquema de ligação, apanhei um pouco para faze-lo funcionar. Apesar de seguir o padrão de ligação dos outros displays com os quais eu já mexi, esse tem uma pinagem um pouco diferente, como vc pode ver na figura abaixo :

pinos WH1602A

Olhando o display de frente, os pinos estão numerados da seguinte maneira :

Display LCD Winstar WH1602A - Numeração

Os pinos são numerados de 1 a 14, em ordem decrescente, e depois vem os pinos 16 e 15. Vai entender...

E como descobrir a função de cada pino ? Procurando o Datasheet, como eu já havia comentado em outro post. O datasheet do WH1602A você encontra aqui.

Bom, essa foi a parte mais difícil. Depois que você descobre pra que serve cada pino, a ligação no Arduino fica assim :

  • Pino 2 do Arduino vai no 14 do display (Pino 14: DB7)
  • Pino 3 do Arduino vai no 13 do display (Pino 13: DB6)
  • Pino 4 do Arduino vai no 12 do display (Pino 12 : DB5)
  • Pino 5 do Arduino vai no 11 do display (Pino 11: DB4)
  • Pino 11 do Arduino vai no 6 (Enable) do display 
  • Pino 12 do Arduino vai no 4 (RS) do display 
  • Vcc do Arduino, ligar nos pinos 2 e 15 do display (Pino 2 : Vdd, Pino 15 : A/Vee)
  • GND do Arduino, ligar nos pinos 1, 5 e 16 do display (Pino 1: GND, Pino 5: RW, Pino 16 : 0v (luz de fundo)
  • Ligar pino 3 do display no pino central do potenciômetro, que vai fazer a regulagem do contraste (Pino 3: Vo (Ajuste de contraste)

O circuito :

LM35 e Arduino Protoboard

Circuito Arduino LCD 16x2
Vamos testar essa ligação ? Você pode utilizar o exemplo que vem no próprio Arduino, carregando o programa através da IDE, no menu ARQUIVO => EXEMPLOS => LIQUIDCRYSTAL => DISPLAY , ou então usar essa minha versão resumida : 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
// Programa : Teste de Display LCD 16 x 2
// Alteração / revisão : Arduino & Cia

#include <LiquidCrystal.h> //Carrega a biblioteca LiquidCrystal

//Define os pinos que serão utilizados para ligação ao display
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 

void setup() 
{
  //Define o número de colunas e linhas do LCD:
  lcd.begin(16, 2);
  //Envia o texto entre aspas para o LCD :
  lcd.print("Arduino & Cia");
}

void loop()
{
  // Insira aqui o código para alterar 
  // o texto, gerar efeito "blink" (piscar), etc.
}

Lembram do artigo sobre o LM35 ? No próximo , usaremos o display juntamente com o LM35 para exibir as informações de temperatura no display. Até lá !

18 comentários:

  1. O meu LCD nao dá, nao consigo fazer upload de nenhum codigo, so me aparecem blocos pretos no LCD. Tenho tudo ligado como é aqui mostrado . :S

    ResponderExcluir
    Respostas
    1. Boa noite,

      Tente o esquema deste post: http://www.arduinoecia.com.br/2013/12/lcd-16-x-2-backlight-azul-hd44780.html

      Abraço !

      Excluir
  2. Boa tarde, tenho um visor lcd com as configurações parecidas, o meu é um pvc160203QGN, não consigo ligar as luzes de fundo dele. Pode me ajudar???

    ResponderExcluir
    Respostas
    1. Bom dia,

      Tem o link de onde você comprou ? vamos tentar descobrir o controlador e/ou pinagem.

      Abraço!

      Excluir
  3. amigo,otimo site,mas meu lcd só aparece blocos pretos na primeira linha, n sei oq fazer,sera q queimou?

    ResponderExcluir
    Respostas
    1. Boa tarde,

      O seu display é o mesmo do post ? o WH1602A ? ele tem a pinagem um pouco diferente dos outros displays. Tente esse post, por favor:

      http://www.arduinoecia.com.br/2013/12/lcd-16-x-2-backlight-azul-hd44780.html

      Abraço e obrigado!

      Excluir
  4. Boa tarde
    Preciso comprar uma meia duzia desse display
    WH-1602A-YYH-JTK verde ou azul
    Onde consigo ?
    Aqui em Ribeirão Preto - SP não consegui.

    Agradeço antecipadamente
    João Pimenta
    pimenta@convex.com.br

    ResponderExcluir
    Respostas
    1. Boa noite,

      Precisar ser exatamente esse modelo ?

      Abraço!

      Excluir
  5. obrigado, seu programa funciona muito bem

    ResponderExcluir
    Respostas
    1. Valeu Jaime. Abraço! :)

      Adilson

      Excluir
    2. Parabéns pelo tutorial.
      O meu tá com um problema estranho, só a primeira coluna funciona, só ela exibe o que mando escrever, o resto fica em branco. Alguma ideia?

      Excluir
    3. Oi Joelcio,

      Será que o seu display não tem o controlador HD44780 ? Tente a pinagem deste post aqui:

      http://www.arduinoecia.com.br/2013/12/lcd-16x2-arduino-hd44780.html

      Abraço!

      Excluir
  6. Amigo, muito obrigado! Eu e minha filha estamos começando com Arduino, e sua postagem foi de grande ajuda! Muito obrigado!

    ResponderExcluir
    Respostas
    1. Opa ! Agradeço muito a visita.. Abraço! :)

      Adilson

      Excluir
  7. Olá. Muito didática sua postagem. Apenas para dar um retorno: na explicação textual esta certo, porem no desenho estão invertidos o 5V e o GND entre os pinos 15 e 16 do LCD. Grato.

    ResponderExcluir
    Respostas
    1. Bom dia!

      Vou até checar o display, mas creio que esteja correto, pq a numeração nesse display é invertida, o pino 16 (GND) vem antes do pino 15 (Vcc).

      Abraço!

      Excluir
  8. Tenho exatamente esse display aqui fiz como falou, porem so aparecem blocos pretos na primeira linha, pode me ajudar

    ResponderExcluir
  9. Olá. Realmente esta certo. Não tinha percebido que os displays que tenho aqui estão com os pinos 15 e 16 invertidos com relação ao seu. Abraço.

    ResponderExcluir