Hoje vou falar um pouco sobre a ligação do Display LCD 16×2 Winstar WH1602A, como esse da foto:
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 imagem abaixo:
Olhando o display de frente, os pinos estão numerados da seguinte maneira:
Os pinos são numerados de 1 a 14, em ordem decrescente, e depois vem os pinos 16 e 15. Fique atento a isso pois se você seguir o esquema de ligação de outros displays como o HD44780 não vai funcionar, ok?
Conexão do display LCD 16×2 Winstar WH1602A no Arduino
E como descobrir a função de cada pino? Visitando o site do fabricante e procurando no datasheet do display LCD 16×2 Winstar WH1602A.
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)
A conexão do display no Arduino Uno então fica dessa maneira:
Nosso circuito montado e funcionando ficou assim:
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 => Liquid Crystal => Display, ou então usar essa minha versão resumida:
//Programa: Teste de Display LCD 16 x 2 //Alteração/revisão: Arduino e 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 e Cia"); } void loop() { //Insira aqui o código para alterar //o texto, gerar efeito "blink" (piscar), etc. }
Gostou? Confira também uma aplicação prática no post Display LCD 16×2 Winstar WH1602A e Sensor de temperatura LM35.