DOISFI

Projeto: Display de LCD

Enviando caracteres do computador para o Arduino e vê-los no display.

Esse display LCD tem 16 colunas e 2 linhas. 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).

Display LCD

Conexão display LCD 16×2 com Arduino

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 100K, mas você pode testar com outros valores como 10K ou 50K, por exemplo.

Programa de controle LCD

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).

Display LCD

Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, pegue seu protoboard e conecte todos os componetes como mostra a figura:

//Programa: Teste de Display LCD 16 x 2
                            //Autor: doisFi
                            
                            //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("Oficina Maker");
                              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);
                              }
                            }

Após compilar o código e fazer o upload na sua placa.

Se houve algum problema, procure seu erro e tente consertá-lo. Se não, parabéns!