Como fazer a interface do LCD de 4 bits com o Arduino- (Parte 4/49)

O display de cristal líquido é usado em vários tipos de dispositivos, desde telas pequenas em calculadoras até telas grandes em televisores. Há muitas vantagens em usar monitores LCD em sistemas como eficiência energética, tamanho fino, baixo custo, etc. Pequenos módulos de display baseados em LCD são normalmente encontrados em todos os tipos de dispositivos embarcados.O LCD, embora pareça simples, é realmente difícil de fazer funcionar.
O LCD funciona apenas com pulsos de tensão e com tempo preciso e níveis de tensão. Conseqüentemente, tipos especiais de drivers de LCD são desenvolvidos para acionar o LCD. Dois ou mais ICs de driver deste tipo, juntamente com a tela LCD, formam módulos LCD que normalmente são encontrados em sistemas embarcados.O módulo LCD torna um sistema autônomo que pode receber entradas e exibir a saída correspondente. Este projeto específico demonstra como fazer a interface de um display LCD 16×2 com uma placa Arduino.

Qualquer placa baseada em microcontrolador AVR que siga o esquema padrão do Arduino e seja atualizada com o Arduino carregador de inicialização pode ser chamada de placa Arduino. Não há outra ferramenta disponível que ajude na prototipagem fácil como o Arduino. A placa Arduino possui todos os circuitos necessários para fazer o microcontrolador AVR integrado funcionar. Quando se trata de programar a placa Arduino, qualquer pessoa que tenha conhecimento básico de programação C pode começar rapidamente com o Arduino IDE. O tutorial sobre Começando com Arduino explica sobre as etapas necessárias para começar a usar uma placa Arduino. A placa Arduino usada neste projeto é a placa Arduino pro-mini e a versão IDE do Arduino é 1.0.3 para Windows. A imagem da placa Arduino pro-mini e do Arduino IDE são mostradas abaixo;

Placa Arduino Pro-Mini típica

Fig. 2: Placa Arduino Pro-Mini típica

 Janela do software Arduino IDE

Fig. 3: Janela do software Arduino IDE

Como a placa Arduino pro-mini não possui circuito para interface com a porta serial ou porta USB do PC, uma placa conversora USB para TTL externa é necessária para conectá-la ao PC. Este hardware auxilia na programação da placa Arduino e também auxilia na comunicação serial com a porta USB do PC.

 Placa conversora USB externa para TTL para programação de Arduino e comunicação serial

4: Placa conversora USB para TTL externa para programação Arduino e comunicação serial

Presume-se que o leitor tenha passado pelo projeto como começar com o Arduino e experimentei todas as coisas discutidas lá. O Arduino IDE tem muitas funções que ajudam a fazer a interface do módulo LCD de quatro bits. Existem funções para inicializar o módulo LCD e para escrever caracteres no módulo LCD. As funções utilizadas na codificação destes projetos são lcd.begin e lcd.print . As funções estão disponíveis na biblioteca e deve-se inicializar a biblioteca antes de usar essas funções.

Cristal Líquido

Esta função deve ser chamada para inicializar a biblioteca LCD de quatro bits e então apenas as funções da biblioteca podem ser chamadas no código. A função possui seis parâmetros que devem ser fornecidos durante uma chamada de função de acordo com a conexão do circuito com a placa Arduino e o módulo LCD. Os detalhes dos parâmetros da função estão listados na ordem abaixo.

Parâmetros de função de LiquidCrystallcd

Fig. 5: Parâmetros de função de LiquidCrystallcd

Por exemplo, a instrução a seguir pode ser usada para inicializar uma biblioteca LCD para o código escrito para o circuito no qual o pino RS está conectado ao pino 12, o pino Enable ao 11 e D4, D5, D6 e D7 aos pinos 5, 4, 3 e 2 respectivamente.

lcd.begin

Esta função pode ser usada para inicializar o módulo LCD. O primeiro parâmetro é o número de linhas do módulo LCD em uso e o segundo parâmetro é o número de colunas. A função lcd.begin pode ser usada para inicializar um LCD 16*2 usando a instrução;

lcd.begin(16, 2);

A instrução acima inicializará o LCD 16*2 no modo de quatro bits com modo de exibição de duas linhas.

lcd.print

Esta função é usada para exibir um caractere ou string ASCII em uma tela LCD. Se um valor for fornecido como parâmetro da função, ele formatará esse valor em uma string exibível e depois o exibirá no LCD.

A função lcd.print é análoga à função Serial.print discutida no projeto sobre como fazer depuração serial com Arduino, como fazer entrada e saída serial com Arduino e como enviar dados seriais do Arduino.

A função lcd.print pode ser usada para imprimir uma string usando a instrução mostrada abaixo;

lcd.print(“olá mundo”);

A instrução acima imprimirá a string “olá mundo” na tela LCD. Se o valor de uma variável precisar ser impresso na tela LCD, a mesma função pode ser usada, pois pode formatar um valor para a string ASCII que representa o valor.

lcd.imprimir(100);

Na instrução acima, o valor 100 é formatado para a string “100” pela função lcd.print e então o exibe no módulo LCD.

O CÓDIGO

O código inclui primeiro a biblioteca que possui todas as funções necessárias para acessar o módulo LCD. O módulo LCD 16*2 usado neste projeto é inicializado usando a função lcd.begin . A função lcd.print é então usada para imprimir dados no módulo LCD.

// inclui o código da biblioteca:

#include

// inicializa a biblioteca com os números dos pinos da interface

LiquidCrystallcd(12, 11, 5, 4, 3, 2);

// dê um nome ao pino do LED:

LED interno = 6;

configuração nula

{

// configura o número de colunas e linhas do LCD:

lcd.begin(16, 2);

// Imprime uma mensagem no LCD.

lcd.print(“GARAGEM DE ENGENHEIROS”);

// inicializa o pino digital como saída.

pinMode(led, SAÍDA);

}

loop vazio

{

digitalWrite(led, ALTO); //liga o LED (HIGH é o nível de tensão)

atraso(1000); // espere um segundo

digitalWrite(led, BAIXO); //desliga o LED deixando a tensão BAIXA

atraso(1000); // espere um segundo

}

O código inicializa o módulo, exibe uma string no módulo usando as funções disponíveis na biblioteca . O código que pisca um LED em um loop infinito usando as funções pinMode e digitalWrite discutidas no projeto em como começar com o Arduino e como usar entrada e saída digital do Arduino.

Código fonte do projeto

###




/*============================ EG LABS ===================================//

 

 Demonstration on how to use 16x2 LCD display with an arduino board

 

 The circuit:

  The circuit:

 * LCD RS pin to digital pin 12

 * LCD Enable pin to digital pin 11

 * LCD D4 pin to digital pin 5

 * LCD D5 pin to digital pin 4

 * LCD D6 pin to digital pin 3

 * LCD D7 pin to digital pin 2

 * LCD R/W pin to ground

 * 10K resistor:

 * ends to +5V and ground

 * wiper to LCD pin 3

 * LED anode attached to digital output 6

 * LED cathode attached to ground through a 1K resistor

 

//============================ EG LABS ===================================*/


// include the library code:

#include 


// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


// give the LED pin a name:

int led = 6;


void setup  

{

  // set up the LCD's number of columns and rows: 

  lcd.begin(16, 2);

  // Print a message to the LCD.

  lcd.print("ENGINEERS GARAGE");

  // initialize the digital pin as an output.

  pinMode(led, OUTPUT);   

}


void loop  

{

  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)

  delay(1000);               // wait for a second

  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW

  delay(1000);               // wait for a second

}

###

Diagramas de circuito

Interface de diagrama de circuito-LCD de 4 bits-Arduino

Componentes do Projeto

  • Arduino ProMini
  • LCD
  • LIDERADO
  • Resistor

Vídeo do projeto

Related Content

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.