Como utilizar um LCD e um módulo I2C com o Arduino Uno

 

 

COMO UTILIZAR UM LCD E UM MÓDULO 12C COM O ARDUINO UNO

 

 

Em um dos nossos artigos sobre LCD, você notou que o clássico LCD paralelo consome muitos pinos do Arduino. Mesmo no modo mais simples de 4 bits, são necessários pelo menos 6 pinos digitais do Arduino destinados a conexão do display. Portanto, quando se utiliza o clássico LCD paralelo, a depender do projeto a falta de pinos pode ser um grande problema.

A solução para este problema é usar um módulo I2C para display LCD. O módulo requer apenas dois pinos de E/S digitais e você pode até compartilhar esses dois pinos com outros dispositivos I2C.

Neste artigo, iremos demonstrar as características do módulo I2C para display, além disso, demostraremos como realizar a integração de um LCD 16x2 com um módulo I2C para display I2C.

 

Visão geral do LCD I2C

Um display LCD I2C consiste em um LCD paralelo clássico e um adaptador LCD I2C. O adaptador LCD I2C é soldado na parte de trás do LCD.

                

 

Caso você já tenha um LCD, você só precisa comprar o módulo I2C e soldá-lo diretamente nos pinos do display. Agora vamos dar uma olhada em detalhes no display LCD e no módulo I2C para display.

 

Display de cristal líquido (LCD)

Os monitores LCD comumente disponíveis com o módulo LCD I2C são monitores LCD de 16 × 2 (16 colunas e 2 linhas) e 20 × 4 (20 colunas e 4 linhas). Ambos têm um total de 16 pinos, incluindo 8 pinos de dados paralelos. Portanto, se você não usar um LCD I2C, precisará de pelo menos 6 pinos de E/S digital no Arduino para exibir algo.

 

Visão geral do adaptador LCD I2C

No centro deste módulo, há um chip de expansão de E/S de 8 bits – PCF8574. Ele pega os dados I2C do microcontrolador (Arduino) e os converte em dados seriais, necessários para um display LCD. De um lado, o módulo LCD I2C possui quatro pinos que podem ser conectados ao Arduino ou a qualquer microcontrolador que suporte o protocolo de comunicação I2C. Do outro lado, possui 16 pinos que são conectados ao display de LCD.                         

Existem dois pinos para controlar a luz de fundo do visor do display de LCD. Um pino fornece uma alimentação de 5v e outro pino é para o LED da luz de fundo. Esses dois pinos são conectados juntos por padrão. Portanto, a luz de fundo estará sempre ligada. Você pode remover o jumper para desligar o LED da luz de fundo ou pode usar um potenciômetro entre esses dois pinos para controlar a intensidade do LED da luz de fundo.

O módulo LCD I2C também possui um pequeno potenciômetro para ajustar o contraste da tela.

 

 

Como alterar o endereço I2C padrão

Alguns módulos LCD I2C vêm com o chip PCF8574, enquanto outros usam o chip PCF8574A. Cada um desses chips tem seu próprio endereço I2C. O chip PCF8574 utiliza o endereço “0x27” enquanto o chip PCF8574A utiliza o “0x3F”.

Para projetos que utilizem vários dispositivos I2C no mesmo barramento, às vezes, se torna necessário alterar o endereço padrão I2C. O objetivo desta mudança é evitar que os diversos dispositivos I2C entrem em conflito.

Para alterar o endereço padrão I2C, o módulo possui pads de seleção de endereço, representado por A0, A1 e A2 (conforme imagem a seguir).

 

                     

 

Cada um desses pads tem uma conexão de aterramento acima dele. Por padrão, cada um desses pinos está conectado ao VDD ou a uma fonte de alimentação positiva. Você pode alterar o endereço conectando qualquer pino ao pino de aterramento acima dele. Você pode fazer qualquer combinação possível e obterá um endereço diferente. A partir desses três pinos (A0, A1 e A2), você pode obter 8 endereços diferentes.

Se você examinar o datasheet do chip PCF8574 da NXP, descobrirá que o PCF8574 e o PCF8574A usam um endereço I2C de 7 bits. O primeiro de quatro bits é fixo e o último de três bits é selecionável por hardware.

 

 

Conforme você leu acima, A0, A1 e A2 são conectados à fonte de alimentação positiva por padrão. Portanto, o endereço padrão do PCF8574 é 0100111 em binário ou 0x27 em hexadecimal. Dessa forma, ao conectar o pino A0 no pino de aterramento, ele se tornará um nível lógico baixo. O endereço mudará para 0100110 em binário ou 0x26 em hexadecimal.

Veja a ilustração abaixo para encontrar todas as conexões possíveis e os endereços hexadecimais.

 

 

Pinagem do módulo I2C para display

O módulo I2C para display possui quatro pinos de saída I2C. Esses quatro pinos são: Terra, VCC, SDA e SCL. Na imagem a seguir, você pode observar os principais pinos do módulo I2C.

 

 

Especificações e Características do módulo I2C para display

 - Fonte de alimentação 5V.

 - Controle serial I2C

 - A luz de fundo pode ser ativada ou desativada por meio de um jumper na placa.

 - Controle de contraste através de um potenciômetro.

 - Possibilidade de adicionar 8 módulos em um único barramento I2C (mudança de endereço via jumpers de solda).

 - Tamanho: 41,6 x 19,2 mm.

 

Como utilizar o display de LCD I2C com o Arduino Uno

Conectar um display LCD I2C com Arduino é muito simples em comparação com um display LCD normal. Basicamente você só precisará conectar quatro fios ao Arduino. A seguir, iremos demonstrar através da elaboração de um circuito, como realizar esta integração entre o display de LCD I2C e o Arduino Uno de forma prática. Iremos assumir que o módulo I2C para display foi adquirido a parte do display, necessitando desta maneira, efetuar as conexões entre o display e o módulo I2C.

 

Materiais para montagem

 

Passos para a montagem do circuito

A montagem do circuito deve ser feita conforme imagem a seguir. Observe atentamente a posição correta dos terminais do módulo I2C e do display de LCD. No Arduino Uno, o pino SCL é o A5 e o pino SDA é o pino A4, conecte-o adequadamente.

 

 

Resumo das Conexões entre os componentes

 

 

Pino 5V (Arduino)

VCC (Módulo I2C)

 

 

Pino GND (Arduino)

GND (Módulo I2C)

 

 

Pino A5 (Arduino)

SCL (Módulo I2C)

 

 

Pino A4 (Arduino)

SDA (Módulo I2C)

 

 

VSS (Display)

VSS (Módulo I2C)

 

 

VDD (Display)

VDD (Módulo I2C)

 

 

V0 (Display)

V0 (Módulo I2C)

 

 

RS (Display)

RS (Módulo I2C)

 

 

RW (Display)

RW (Módulo I2C)

 

 

E (Display)

E (Módulo I2C)

 

 

D0 (Display)

D0 (Módulo I2C)

 

 

D1 (Display)

D1 (Módulo I2C)

 

 

D2 (Display)

D2 (Módulo I2C)

 

 

D3 (Display)

D3 (Módulo I2C)

 

 

D4(Display)

D4(Módulo I2C)

 

 

D5 (Display)

D5 (Módulo I2C)

 

 

D6 (Display)

D6 (Módulo I2C)

 

 

D7 (Display)

D7 (Módulo I2C)

 

 

A OU 15 (Display)

A OU 15 (Módulo I2C)

 

 

Programação do Arduino

Primeiramente precisamos instalar a biblioteca “LiquidCrystal-I2C”. Esta biblioteca já possui muitas funções pré-construídas para controlar um display LCD I2C de uma maneira muito mais simples.

Para instalar a biblioteca primeiro você precisa baixá-la do repositório LiquidCrystal-I2C GitHub. Em seguida, abra a IDE do Arduino e navegue até Sketch > Incluir biblioteca > Adicionar biblioteca.ZIP.

 

 

Selecione o arquivo .zip que você acabou de baixar e clique no botão abrir. A instalação está feita.

 

Encontre o endereço I2C do seu LCD

Você precisa saber o endereço I2C do LCD antes de iniciar a comunicação. Para saber o endereço I2C do seu LCD, copie e execute o código abaixo.

 

 

Abra o monitor serial da IDE do Arduino e você obterá um resultado como o exibido a seguir.

 

 

Você deve anotar o endereço I2C do seu LCD em algum lugar. Você precisará dele para o próximo código.

 

Como exibir um texto simples com o LCD I2C

Exibir um texto no LCD I2C é muito simples. O código abaixo exibirá o texto na tela do LCD. Mas antes de carregar o código, você precisará colocar o endereço I2C encontrado através do código anterior. O endereço I2C do nosso display é “0x27” e possui 16 colunas e 2 linhas. Então iremos utilizar “LiquidCrystal_I2C lcd(0x27,16,2)”. Se você tiver um display LCD diferente, altere o endereço I2C e a dimensão de acordo.

Código:

 

 

Após digitar o código, basta fazer o upload no Arduino Uno. O processo para fazer o upload do código no Arduino Uno é bem simples:

 - Conecte o seu Arduino Uno utilizando o cabo USB.

 - Vá em Ferramentas ? Placa ? Arduino Uno para selecionar sua placa no menu Arduino.

 - Em seguida escolha a porta serial correta para sua placa vá em ferramentas ? Porta serial ? COMx (Escolha a porta serial ao qual o seu Arduino estiver conectado).

 - Por fim, basta clicar no botão Carregar. 

 

Se não houver nenhum erro de digitação ou configuração, o código será gravado no Arduino. Caso contrário verifique se o código foi digitado corretamente e se as configurações estão corretas.

Após o código ser carregado com sucesso, o display irá exibir automaticamente a mensagem “STA ELETRONICA” na primeira linha do display e “DISPLAY LCD I2C” na segunda linha do display.