Neste artigo você vai encontrar alguns testes básicos do display LCD 16×2 no Arduino, um display muito comum com controlador HD44780, que se adapta aos mais diversos projetos, podendo ser usado com vários modelos de placas e microcontroladores como Arduino, Raspberry Pi, PIC, etc.
Material Necessário
- 1 x Placa Uno R3 com cabo USB
- 1 x Protoboard
- 1 x Display LCD 16×2
- 1 x Potenciômetro 10K ohm
- Jumpers macho-macho
Como funciona o display LCD 16×2?
Esse display LCD tem 16 colunas e 2 linhas, com backlight (luz de fundo) azul e letras na cor branca. Para conexão, são 16 pinos, dos quais usamos 12 para uma conexão básica, já incluindo as conexões de alimentação (pinos 1 e 2), backlight (pinos 15 e 16) e contraste (pino 3).
Circuito display LCD 16×2
Na conexão do display ao Arduino Uno vamos utilizar apenas 4 pinos de dados (pinos digitais 2, 3, 4 e 5), e 2 pinos de controle (pinos digitais 11 e 12).
Para o ajuste do contraste, usamos um potenciômetro de 10K ohm.
Se preferir, você também pode utilizar um potenciômetro para regular a luz de fundo, nos pinos 15 e 16 do display. Outra opção é usar um resistor em um desses pinos.
Código display LCD 16×2
O controle desse display pode ser feito utilizando-se a biblioteca LiquidCrystal, já embutida na IDE do Arduino.
No início do programa (linha 8), definimos os pinos que serão utilizados pelo displays, nesse formato:
LiquidCrystal lcd(<pino RS>, <pino enable>, <pino D4>, <pino D5>, <pino D6>, <pino D7>)
No setup, inicializamos o display definindo o número de colunas e linhas com o comando lcd.begin(16,2).
//Programa: Display LCD 16x2 //Autor: MakerHero //Carrega a biblioteca LiquidCrystal #include <LiquidCrystal.h> //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); } void loop() { //Limpa a tela lcd.clear(); //Posiciona o cursor na coluna 3, linha 0; lcd.setCursor(3, 0); //Envia o texto entre aspas para o LCD lcd.print("MakerHero"); lcd.setCursor(3, 1); lcd.print(" LCD 16x2"); delay(5000); //Rolagem para a esquerda for (int posicao = 0; posicao < 3; posicao++) { lcd.scrollDisplayLeft(); delay(300); } //Rolagem para a direita for (int posicao = 0; posicao < 6; posicao++) { lcd.scrollDisplayRight(); delay(300); } }
Possíveis erros
Caso o projeto não funcione, verifique alguns dos possíveis erros:
- Verifique se os jumpers estão na mesma coluna dos terminais dos componentes, fazendo assim a conexão;
- Verifique se os jumpers estão ligados nos pinos corretos no Arduino;
- Verifique se as conexões do display LCD estão corretas;
- Verifique se os pinos do potenciômetro estão bem inseridos na protoboard;
- Verifique se o código carregou na placa através da IDE Arduino.
E aí, gostou de aprender como conectar um Display LCD 16×2 no arduino? Para continuar a trilha de conhecimento de Arduino, confira a próxima aula: Mostrando a temperatura no LCD 16×2 com o sensor DHT11
Qualquer dúvida pode usar o campo de comentários abaixo. E não esqueça de nos seguir no Instagram 😉
Só lembrando que o consumo desse display é elevado; para usá-lo junto com QUALQUER OUTRO HARDWARE será preciso ligar o LCD numa fonte separada, ou algo não vai funcionar: usei um desses com 5 leds que deveriam piscar aleatoriamente junto com o texto, eles não acendiam. E a pinagem e código eram os mesmos que já tinha usado com esses leds, só acrescentei a parte referente ao LCD.
Olá.
No geral os projetistas sempre utilizam usando a própria fonte da placa de desenvolvimento.
Provavelmente você precisa acrescentar alguns resistores para limitar a corrente desses LEDs.
Att.
Vitor Mattos.
Suporte Técnico MakerHero.
Em qual software vc usa para fazer estes circuitos? Sempre uso o Tinkercad mas nesse não os componentes que preciso para simular.
Olá,
O software é o Fritzing.
A simulação no fritzing ainda está em desenvolvimento e por enquanto não abrange programação.
Abraços!
Vinícius – Equipe MakerHero
Eu posso ligar o display sem potenciometro?
Olá Wanderson,
O potenciômetro serve para o ajuste do contraste, você pode substituir por dois resistores de 10k por exemplo, ligados em série fazendo um divisor de tensão, como se fossem os 3 pinos do potenciômetro.
Abraços!
Vinícius – Equipe MakerHero
ola!
estava fazendo esse circuito e programação em um simulador e apontou que esta chegando 23,7kA e o lcd só suporta 20mA,seia algo na programação ou na ligação o erro ?
Olá Jefferson,
Acredito que seja alguma questão no simulador, fiz a montagem conforme o post e deu tudo certo.
Também 23,7 kA é uma corrente muito alta. Qual simulador foi usado?
Abraços!
Vinícius – Equipe MakerHero