Display LCD 16×2 Arduino HD44780
Post “light” para (quase) encerrar o ano, vamos mostrar a ligação do LCD 16×2 com backlight azul, que utiliza o chip de controle HD44780.
Apesar do número de pinos (são 16 pinos, mas nem todos são usados na conexão básica) o display LCD 16×2 HD44780 é bem simples de usar, contando com backligh (luz de fundo) azul, que gera um efeito muito bacana no seu projeto.
Esse display também é encontrado na versão I2C, onde você usa apenas 2 pinos do microcontrolador para conexão. Vale a pena conferir.
Conexões do Display LCD HD44780
Dependendo do modelo, a função dos pinos vem marcada na própria placa, como mostrado na imagem abaixo:
Abaixo temos a função de cada pino:
- Vss (Terra – 0v)
- Vdd (Vcc – 5v)
- V0 – Ajuste de contraste
- RS – Register Select
- RW – Read / Write – Leitura / Escrita
- E – Enable
- D0, D1, D2, D3, D4, D5, D6, D7 (Dados)
- A – Anode Backlight (Anodo luz de fundo)
- K – Negativo Backlight
Para conexão do display ao Arduino utilizamos a tabela abaixo abaixo. Repare que os pinos 7, 8, 9 e 10 não estão conectados pois vamos utilizar uma comunicação básica de 4 bits, mas esses pinos podem ser utilizados em uma conexão de 8 bits, conforme mostrado no post Ligando Display LCD 16×2 em modo 8 bits.
O potenciômetro no pino 3 do Arduino serve para ajuste de contraste e no nosso circuito usamos um de 10K, mas você pode utilizar outros valores sem problemas:
Para enviar texto para o display, utilize o programa abaixo, que utiliza a biblioteca LiquidCrystal, já embutida na IDE do Arduino:
/ Programa : Teste de Display LCD 16x2 Arduino // 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 e Cia"); } void loop() { //Insira aqui o código para alterar o texto, gerar //efeito "blink" (piscar), etc. }
O HD44780 é um controlador muito usado pelos fabricantes de display e no seu datasheet você encontra maiores informações sobre o CI.
Gostou? Confira outros posts usando displays aqui mesmo no Arduino e Cia!
Boa noite,
gostaria de saber se tem como deixar um texto na primeira linha com o scroll e a segunda linha parada?
Ou seja, o texto da primeira linha rolando e o da segunda parado.
Será que tem como?
Obrigado
Boa tarde Henrique,
Desculpe a demora na resposta, mas achei a sua pergunta tão interessante que fiz um post sobre isso, veja se ajuda :
http://www.arduinoecia.com.br/2014/03/arduino-como-realizar-um-scroll-no-lcd.html
Abraços !
Muito obrigado mesmo! Ajudou bastante!
Seu blog é um dos melhores sobre Arduino, parabéns!
Opa, Valeu Henrique ! Abraço e volte sempre. 🙂
Olá amigo, obrigado e parabéns por este post, sempre acompanho!
Sobre as linhas 20 e 21, onde vc colocou: "//Insira aqui o código para alterar o texto, gerar //efeito "blink" (piscar), etc. Vc poderia, por favor, me dar um exemplo de como e o que poderia ser colocado nessas linhas?
Obrigado
Bom dia,
Você pode utilizar comandos para posicionar o cursor e escrever, como por exemplo :
lcd.setCursor(0,0); //Coluna, linha
lcd.print("Teste"); //Imprime a palavra Teste na posição do cursor
Ou então gerar um efeito de piscar, como por exemplo :
lcd.setCursor(0,0) //Posiciona o cursor
lcd.print("Teste"); //Imprime a palavra Teste
delay(1000); //Aguarda 1 segundo
lcd.setCursor(0,0); //Posiciona o cursor
lcd.print(" "); //Imprime caracteres em branco na mesma posicao anterior
Esses são apenas alguns exemplos, utilizando os próprios comandos do Arduino. Na biblioteca LiquidCrystal você encontra outros exemplos para piscar, rolagem de tela, etc.
Abraço e obrigado !
tem como conectar o lcd utilizando apenas quatro pinos ?
OI Pedro,
Tem sim, mas você tem que usar um adaptador I2C.
Abraço !
Poderia me dizer qual o site/programa que usam para fazer a representação prática ilustrada do circuito? Estou organizando uma apresentação e a documentação ficaria bem melhor.
Obrigado.
Boa tarde Bruno,
O programa que utilizamos é o Fritzing, disponível para download neste link:
http://fritzing.org/home/
Abraço e boa apresentação! 🙂
Ola tem como usar o display sem arduino se tiverme avise 😉
Bom dia
Você pode até usar sem Arduino, mas você provavelmente vai precisar de um microcontrolador pra mandar informações para o dipslay. O PIC é uma opção. 🙂
Abraço!
Boa tarde. Gostaria de saber se é possível controlar o Backlight do lcd de alguma forma.. Este potenciômetro apenas controla o contraste certo?..
Grato!
Boa noite,
Dê uma olhada nesse link, por favor. Tem o que você precisa:
http://labdegaragem.com/profiles/blogs/controle-de-display-lcd-com-garagino-ou-arduino
Abraço!
alguem sabe se eu consigo um painel bem grande compativel com arduino
meu display só pisca. não aparece as letras
Boa noite,
Isso provavelmente é ajuste de contraste. Você está usando o potenciômetro para regulagem?
Abraço!
Adilson
[…] Informações específicas sobre o display LCD utilizado, como pinagem, datasheet e outras informações você encontra no artigo Display LCD 16×2 – Backlight azul – HD44780. […]
[…] O circuito utilizado é o mesmo mostrado no post Display LCD Winstar WH1602A. O modelo do LCD é o WH1602A mas o programa pode ser utilizado sem problemas em outros modelos de display 16×2, como o HD44780, que eu abordei neste artigo. […]
[…] os valores de temperatura em um display LCD 16×2 efetuando a seguinte […]