No artigo de hoje vamos ensina-los a utilizar um display de cristal líquido super comum no mundo da eletrônica e sistemas embarcados; trata-se do display LCD de 2 linhas e 16 caracteres por linha (mais conhecido como display LCD 16×2).
   A maior parte dos fabricantes deste tipo de display utiliza o controlador (circuito integrado) de LCD HD44780 ou seus similares para fazer o gerenciamento dos caracteres mostrados; o datasheet deste circuito integrado pode ser encontrado aqui. Para demonstrar o funcionamento deste tipo display nós faremos uso de um microcontrolador Arduino UNO, que já dispõe de bibliotecas e exemplos funcionando perfeitamente com este tipo de componente.
   O esquema de ligação para utilizar o LCD  16×2 se encontra abaixo: são utilizados alguns pinos para comunicação (informações á serem mostradas), além de pinos para alimentação do LCD e ajuste do contraste da tela.
   A conexão deste LCD ao Arduino segue a seguinte ordem: 
– Pino 1 do LCD -> GND do Arduino
– Pino 2 do LCD -> +5V do Arduino
– Pino 3 do LCD ->  Centro do potenciômetro (contraste da tela)
– Pino 4 (RS) do LCD ->  pino 12 do Arduino
– Pino 5 (R/W) do LCD ->  GND do Arduino
– Pino 6 (E) do LCD ->  pino 11 do Arduino
– Pino 11 (D4) do LCD -> pino 5 do Arduino
– Pino 12 (D5) do LCD -> pino 4 do Arduino
– Pino 13 (D6) do LCD -> pino 3 do Arduino
– Pino 14 (D7) do LCD -> pino 2 do Arduino
– Pino 15 (A) do LCD ->  Resistor em série com o +5V do Arduino (luz de fundo do display)
– Pino 16 (K) do LCD ->  GND do Arduino
   A biblioteca “LiquidCrystal” vem inclusa nas últimas versões da IDE do Arduino, e contém vários programas (sketchs) de exemplo. O primeiro sketch que vou mostrar para vocês aqui hoje se chama “HelloWorld.ino” e pode ser acessado na IDE do Arduino em “Arquivo > Exemplos > LiquidCrystal”; o programa consiste em imprimir a palavra “Hellow, world!” na linha de cima do LCD e o valor de um contador (incrementado a cada segundo) na linha  de baixo.
 // include the library code:  
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}
   Ao fazer o upload deste código para o Arduino, você deve ver observar na tela do LCD algo parecido com a foto acima; caso não veja  nada (tela toda branca ou toda escura) você deve  ajustar o contraste de tela através do potenciômetro que está montado junto ao circuito. Veja como fazer isso no video abaixo (observe o potenciômetro sendo girado na esquerda da imagem).

   Uma característica da biblioteca deste LCD para Arduino (liquidCrystal) é que você pode escrever a letra que quiser na posição do display que você quiser!. O exemplo abaixo* ilustra como.
* Dica: este exemplo foi desenvolvido por mim (baseado no exemplo “setCursor.ino”, porém ele não vem com a IDE do Arduino.

 // include the library code:  
#include <LiquidCrystal.h>

// these constants won't change. But you can change the size of
// your LCD using them:
const int numRows = 2;
const int numCols = 16;

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(numCols,numRows);
}

void loop() {

lcd.setCursor(0,0); // (0,0) significa coluna 0 e linha 0 (1a linha)
lcd.write("1- Palavra aqui,"); // o comando lcd.write("") deve conter a palavra que voce deseja
// escrever no LCD
lcd.setCursor(0,1); // (0,1) significa coluna 0 da linha 1 (2a linha)
lcd.write("2- Outra Palavra"); // o comando lcd.write("") deve conter a palavra que voce deseja
// escrever no LCD
delay(200);
lcd.clear(); // limpa a tela do LCD a cada 2 segundos
}

   O comando ” lcd.setCursor( , ) ” leva o “cursor” do lcd até a posição que você quiser; tudo que você mandar o ” lcd.write(“‘) ” escrever, será escrito começando nesta posição. Rode o exemplo e veja como  ele funciona!.
   Dá pra fazer um monte de coisas legais com um display LCD e um Arduino, como por exemplo um bargraph (barra de “loading”), caracteres especiais (símbolos que não estao na tabela ASCII), entre outros. Mostramos para vocês aqui hoje apenas o básico (conexão, ligação e sketches de exemplo), porém encorajamos todos os curiosos á bisbilhotar e brincar na página oficial da biblioteca “liquidCrystal” no Arduino.cc .

– Para comprar um Display LCD 16×2 em nosso Parceiro ICStation (da China), clique no texto: 1602A HD44780 Character LCD Display Module LCM Blue Backlight
– Para comprar o Arduino UNO em nosso Parceiro ICStation (da China), clique no texto: ICStation ATMEGA328 UNO V3.0 R3 Board Compatible Arduino UNO R3
– Para comprar um potenciômetro de 10k ohms em nosso Parceiro ICStation (da China), clique no texto: 10K Ohm B10K Knurled Shaft Linear Rotary Taper Potentiometer
– Para comprar os cabinhos coloridos (jumpers) em nosso Parceiro ICStation (da China), clique no texto: 1pcs Dupont Wire 10CM 2.54MM Female to Male 1P-1P Jumper Cable For Arduino

Como ligar um display LCD 16×2 com Arduino
Classificado como:                    

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solve : *
20 + 1 =