Neste post vamos mostrar como montar o circuito e como utilizar o Display LCD com o Arduino. Para isso iremos utilizar o display LCD 16x2, um display muito comum com o controlador HD44780, que se adapta aos mais diversos projetos, podendo ser usado com vários modelos de placas e microcontroladores como o Arduino, Raspberry, PIC e etc. Faremos também um exemplo, onde escrevemos na tela do LCD, esse exemplo foi criado pelo site Laboratório de Garagem.
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).
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.
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.
PROGRAMA DE CONTROLE LCD
O controle desse display pode ser feito utilizando-se a biblioteca LiquidCrystal, já embutida na IDE do Arduino. Ela é bastante útil, pois possui funções que nos auxilia nas configurações e tratamento dos dados a serem enviados ao LCD. Na lista abaixo, estão contidas as funções que podem ser utilizadas pela biblioteca. Para mais detalhes sobre uma certa função, basta somente clicar nela que você será redireciona para o site da Arduino.cc, onde você vai encontrar o que essa função faz, e a sintaxe para se utilizar ela.
CÓDIGO:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <LiquidCrystal.h> //Inclui a biblioteca do LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configura os pinos do Arduino para se comunicar com o LCD
int temp; //Inicia uma variável inteira(temp), para escrever no LCD a contagem do tempo
void setup()
{
lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas)
lcd.setCursor(0, 0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD
lcd.print("Ola Garagista!"); //Escreve no LCD "Olá Garagista!"
lcd.setCursor(0, 1); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD
lcd.print("LabdeGaragem"); //Escreve no LCD "LabdeGaragem"
}
void loop()
{
lcd.setCursor(13, 1); //Posiciona o cursor na décima quarta coluna(13) e na segunda linha(1) do LCD
lcd.print(temp); //Escreve o valor atual da variável de contagem no LCD
delay(1000); //Aguarda 1 segundo
temp++; //Incrementa variável de contagem
if(temp == 600) //Se a variável temp chegar em 600(10 Minutos),...
{
temp = 0; //...zera a variável de contagem
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Como pode ver, no início do programa, 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>)
Já no setup, inicializamos o display definindo o número de colunas e linhas com o comandolcd.begin(16,2).
Observação: Este post é indicado para os alunos interessados no Hackathon da Unimed.
Fonte:
Adaptado por Ríuler Mendes