Neste artigo iremos abordar uma das formas que temos de exibir as informações do Arduino. Estamos falando do display LCD, que vem da sigla em inglês (Liquid Crystal Display), amplamente utilizado nos mais diversos projetos de eletrônica e produtos de maneira geral.
Vamos abordar uma maneira fácil e prática de você implementar o display LCD em seus projetos trazendo a montagem eletrônica e o código em linguagem C++ de forma que você entenda e o utilize da melhor forma.
Ao final desta experiência temos como bônus a implementação do jogo, estilo aquele de corrida clássica dos antigos mini games, só que iremos utilizar o Arduino, o display LCD e também um botão.
👨💻 Comprar Agora – Kit Iniciante Arduino com Tutorial e + 20 Projetos ✅
O que é o Display LCD?
Entrando na parte teórica do nosso componente em questão, os displays alpha numéricos são dispositivos opto eletrônicos utilizados para exibir informações de texto e figuras.
Os modelos existentes no mercado são classificados através do número de linhas e colunas (caracteres) que se pode escrever nele e também pela cor da tela e letras.
Os pontos positivos deste item é o baixo consumo de energia, visto que seu brilho pode ser controlado, a baixa emissão de calor, ser compacto e relativamente de baixo custo e de fácil utilização.
As letras e números são formados por uma pequena matriz de pixels 5×8, onde o Arduino define se os pixels estão ligados ou desligados. A partir desse controle, é possível realizar o desenho de vários caracteres e figuras.
Veja a seguir uma tabela com os caracteres existentes produzidos.
Estes pixels são gerenciados por um controlador interno, normalmente baseado no Hitachi HD44780 ou no Samsung KS0066U, que se comunicam com o Arduino através de uma interface simples: um barramento de dados (de 4 ou 8 bits) e 3 linhas de controle (RS, R/W e EN).
No modo nibble, apenas as quatro linhas mais significativas de dados (D4 a D7) são utilizadas na comunicação.
O byte é dividido em dois nibbles que são transferidos a começar pelo mais significativo, seguido pelo menos significativo.
Especificações técnicas do Display LCD Arduino
Item | Símbolo | Valor | Unidade |
Tensão de alimentação | VDD | 5 | V |
Corrente | IDD | 1.2 | mA |
Temperatura de operação | TOP | -20 à 70 | °C |
Temperatura de armazenagem | TSTR | -30 à 80 | °C |
Montagem do circuito com o Display e o Arduino
Lista de materiais
- Arduino Uno
- Display LCD 16×2
- Potenciômetro 10KΩ
- Cabos macho-fêmea e macho-macho
- Protoboard
Pinos do Display LCD 16×2
Os pinos do display que serão utilizados seguem ilustrados na figura. Para este exemplo usaremos o modo nibble que utiliza apenas os 4 pinos do display (D4 ao D7) para transmitir a informação.
Montagem do Display LCD 16×2 com o Arduino
A ligação do display com o Arduino de forma bem simples, segue descrita pela imagem abaixo.
DISPLAY | ARDUINO |
VSS | GND |
VDD | 5V |
VO | POTENCIÔMETRO |
RS | D12 |
RW | GND |
EN | D11 |
D4 | D4 |
D5 | D5 |
D6 | D6 |
D7 | D7 |
A | 5V |
K | GND |
Note que o uso do potenciômetro servirá para controlar a intensidade da luz do display LCD.
Você também pode se interessar:
- Sensor de temperatura: LM35 | TMP36 | DS18B20 (Completo)
- Servo Motor Arduino: Guia Prático De Uso
- Sensor DHT11: Tutorial Completo (+Projeto Bônus)
Código Utilizado
Bibliotecas utilizadas e dicas
Para elaborar este exemplo, recorremos à biblioteca presente na IDE do Arduino chamada Liquid Crystal, onde pode se encontrar mais informações da biblioteca seguindo os próximos passos descritos.
Procurando por Liquid Crystal no gerenciador de bibliotecas é possível verificar se a biblioteca está instalada ou se precisa instalar e também você pode ver uma uma descrição sobre a biblioteca e mais informações.
Seguindo este link é possível obter diversos exemplos diretamente no site do Arduino.
Código em C++ explicado:
Este primeiro exemplo traz de forma simplificada, o uso que pode ser aplicado de forma geral em demais projetos do display LCD 16×2.
Neste exemplo o Arduino controla a leitura no Display LCD e faz uma contagem de 0 a 10 segundos.
/* Como ligar e controlar um display LCD 16x2 usando Arduino UNO Mais projetos como esse, acesse: <https://flaviobabos.com.br> */ // Inclui a biblioteca Liquid Crystal ao código: #include <LiquidCrystal.h> // Define algumas nomenclaturas aos pinos digitais do arduino #define RS 12 #define EN 11 #define D4 4 #define D5 5 #define D6 6 #define D7 7 // Inicializa a biblioteca associando os pinos definidos ao display LCD LiquidCrystal lcd(RS, EN, D4, D5, D6, D7); void setup() { // Define o tipo do LCD que sera utilizado, neste caso 16x2 lcd.begin(16, 2); } void loop() { // Inicializa uma variável de contagem int contagem = 0; // Limpa todos os caracteres do display LCD lcd.clear(); lcd.setCursor(6, 0); // Posiciona a localização do ponteiro na sexta coluna, primeira linha no display // Apresenta a palavra PORTAL no display na primeira linha. lcd.print("PORTAL"); lcd.setCursor(2, 1); // Posiciona a localização do ponteiro na segunda linha, segunda linha no display // Apresenta a palavra FLAVIO BABOS no display na segunda linha. lcd.print("FLAVIO BABOS"); // Espera por 5 segundos delay(5000); lcd.clear(); lcd.setCursor(0, 0); // Apresenta a palavra CONTAGEM ATE 10 no display na primeira linha. lcd.print("CONTAGEM ATE 10"); //Este laço for faz com que o display exiba a contagem de 0 a 10 a cada segundo for(contagem = 0; contagem < 11; contagem++) { lcd.setCursor(7, 1); // Printe uma mensagem ao LCD lcd.print(contagem); delay(1000); } }
FUNCIONAMENTO
Após dar upload do seu código diretamente para o Arduino você terá algo parecido com o vídeo abaixo:
Projeto Bônus
Explicação do projeto bônus
Como projeto bônus, vamos te desafiar a utilizar este mesmo projeto anterior, com a adição de um botão a fim de criar um game, estilo aquele de corrida que tinha em mini games, com um personagem que precisa desviar dos obstáculos que aparecem na tela do display LCD, onde vamos somando uma pontuação quanto maior for o tempo de sobrevivência no game.
O personagem morre quando o obstáculo o atinge.
Lista de materiais
- Arduino Uno
- Display LCD 16×2
- Potenciômetro 10KΩ
- Cabos macho-fêmea e macho-macho
- Protoboard
- Botão
Montagem do circuito
FUNCIONAMENTO
No site do Hackster.io você vai encontrar o código fonte deste game, porém, aquele autor utilizou outra configuração dos pinos de acordo com o que ele imaginou.
Sendo assim, tente adaptar este projeto para a forma com a qual nós o instruímos neste artigo que, de forma geral, é um tutorial bem simples.
Considerações finais
Como abordado inicialmente, diversos projetos utilizam o display LCD 16×2 como forma de exibir informações. Dominar o uso deste componente abre as portas para você também utilizar outros modelos de displays maiores desta mesma família, ampliando o horizonte de possibilidades que você pode aplicar.
Caso queira se desafiar com outro projeto usando o LCD no artigo sobre RFID Arduino há um projeto bônus que você pode fazer o controle de acesso através de dois tipos de token diferentes.
Esperamos ter reunido as informações necessárias para que você inicie esta jornada de exploração e facilite sua vida nestes primeiros passos.
Com os dados contidos nesse artigo, agora você é capaz de utilizar o display para exibir qualquer tipo de informação existente em seu projeto. Para se aprofundar na eletrônica e na programação em C/C++ acesse o artigo sobre os melhores cursos de Arduino.
Agradecemos sua leitura até aqui. Bons estudos e bom desenvolvimento!