Display LCD 16 x 2 Controlando com um Arduino



Neste post você vai encontrar alguns testes básicos com o display LCD 16×2, 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, PIC e etc.

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


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.

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



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//Programa: Teste de Display LCD 16 x 2
//Autor: ROBOHELP

//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(" Robohelp ");
  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);
  }
}


O programa acima posiciona o texto na posição desejada utilizando o comando lcd.setCursor(), e imprime a string na tela usando lcd.print(“Texto”). Depois de 5 segundos, são utilizados os comandos scrollDisplayLeft() e scrollDisplayRight() para “mover” os caracteres para a esquerda e para a direita, respectivamente.

Autor: http://www.arduinoecia.com.br/
Colaboração Loja Virtual: Robohelp

Se você quer aprender mais sobre Eletrônica, 
Microcontroladores, Arduino, Raspberry Pi e ESP8266
Visite nossa Biblioteca Virtual completa para download gratuito clicandoaqui...

Comentários