Site icon Blog Usinainfo

Projeto Arduino com Display LCD e Adaptador I2C

Quem já está a mais tempo trabalhando com Arduino ou até mesmo está recém começando, mas precisa de bastantes portas digitais para o seu projeto sabe que cada porta disponível é crucial para o sucesso do seu projeto, ainda mais se utilizamos um modelo tipo o Arduino UNO que possui somente 13 portas digitais. Sendo assim, vamos trabalhar com o Projeto Arduino com Display LCD  20×4 e Adaptador I2C.

Visando resolver este problema e aumentar a capacidade dos projetos com Arduino, desenvolveu-se o Módulo Adaptador I2C que quando utilizado com Displays LCDs de 16×2 ou 20×4 possuem a capacidade de diminuir o número de portas digitais utilizadas.

Comumente um projeto que envolve a utilização de displays LCDs utiliza 6 pinos digitais mais os pinos de alimentação para o seu funcionamento, mas com o Módulo I2C você reduz este número para apenas 2 portas, que por utilizarem o sistema de comunicação I2C são conectadas junto às portas analógicas do Arduino.

 

Principais Funções do Módulo Adaptador I2C:

Jumper do Backlight: Jumper responsável por permanecer com o Backlight aceso quando conectado ao módulo ou apaga-lo quando desconectado.

Pinos para Conexão junto ao Display: Pinos que devem ser soldados na parte de trás do Display para garantir a comunicação e interpretação dos sinais.

Trimpot para ajuste do Backlight: Trimpot responsável por regular o contraste dos caracteres do display, tornando-os mais amostra ou menos.

Pinos para Conexão junto ao Arduino: Os pinos que constituem o Módulo Adaptador I2C são: GND (Negativo), VCC (Positivo), SDA (Pino de Comunicação I2C), SCL (Pino de Comunicação I2C).

Seletor para Código I2C: Através de uma combinação certa, possibilita diferentes endereços para comunicação I2C, possibilitando a conexão de mais de um equipamento nos mesmos pinos.

Conforme a tabela abaixo, podemos verificar os sequenciais que definem cada um dos endereços de comunicação, ou seja, por possuir 8 possibilidades de endereço, podem ser conectados 8 diferentes display nas mesmas duas portas SDA e SCL.

Por padrão, comumente o Módulo Adaptador I2C vem configurado com o endereço 0x27, mas você pode alterá-los sempre que necessário utilizando os pinos A0, A1 e A2 demonstrados no módulo, outros modelos, como o Display LCD 20×4 comercializados em nosso site possuem endereço fixo e não suportam endereçamento.

Para configurar o endereço de comunicação do módulo, basta utilizar a sequencia de bits representada através da tabela vista anteriormente como base para identificar quais os terminais A0, A1 e A2 devem ser interligados, para isto é necessário um pingo de solda que interligue as duas extremidades.

Quando as duas extremidades de cada pino estiverem conectadas entre sí, este pino estará representando um caractere igual à 0 e quando estes mesmos pinos estiverem em seu modo inicial, sem solda, o mesmo estará representando um caractere igual à 1.

 

Aplicação e Funcionamento

Que as utilidades deste exclusivo Módulo Adaptador são realmente relevantes para o desenvolvimento do  Projeto Arduino com Display LCD  20×4 e Adaptador I2C, principalmente para aqueles mais complexos que necessitam da utilização elevadas de portas digitais, não temos dúvidas, principalmente após compreendermos como funciona a linguagem I2C.

Para quem está iniciando neste universo maker e de projetos pode ficar com algumas dúvidas, ainda mais que o código utilizado para o funcionamento de um Display com I2C é diferente do código convencional utilizado com Displays.
Para auxiliar quem ainda tem dúvidas neste processo, desenvolvemos o referente projeto, que irá de forma simples demonstrar a diferença existente entre os códigos com I2C e sem I2C, além de demonstrar o modo de ligação utilizado.

 

Produtos Utilizados no Projeto

Para o referente projeto Arduino com Display LCD  20×4 e Adaptador I2C podemos utilizar qualquer Display LCD 16×2 ou 20×4 que tenha soldado junto aos seus pinos um Módulo Adaptador I2C, ou que seja instalado em uma protoboard de maneira que possibilite a comunicação entre os equipamentos.

Optamos pela utilização de um produto que já possui o adaptador soldado junto aos pinos do display, comercializado de modo que baste conectar os jumpers no módulo e no Ardino, porém este modelo possui uma desvantagem já que é comercializado com o endereço fixo em 0x27.

Para o projeto utilizamos:

Porém também pode-se utilizar outros modelos de Arduino e de displays, como:

Vale lembrar que a utilização de displays como estes acima, necessitam da inclusão de um Módulo Adaptador para a comunicação I2C como o abaixo:

 

Montagem Física (Hardware)

A montagem física de ambos os meios de exibição através do Display LCD é o que mais se diferencia de um método para o outro, quando utilizado o método tradicional sem o Adaptador I2C a quantia de jumpers e conexões utilizada pode ser observada através da imagem abaixo:

Além de depender da instalação de um potenciômetro junto ao display que é fundamental para o funcionamento do mesmo, este esquema utiliza-se de 6 pinos digitais conectados entre o Arduino e o Display, além dos demais pinos necessários para a alimentação, tanto os modelos 16×2 quando 20×4 possuem o mesmo esquema de ligação.

Diferente do esquema de ligação utilizado pela forma tradicional e desenvolvido para diminuir a complexibilidade das conexões temos o Módulo Adaptador I2C, um método simplificado de alimentação que necessita de somente 2 pinos para alimentação e 2 pinos para a comunicação, que neste caso é através das portas analógicas do Arduino.

Estas informações podem ser constatadas logo abaixo junto ao esquema de ligação desenvolvido para a demonstração de funcionamento do projeto arduino com display LCD  20×4 e adaptador I2C. Como podemos observar, o potenciômetro sempre utilizado em projetos com display neste caso foi substituído por um trimpot conectado diretamente ao módulo.

Vamos ver uma comparação rápida entre estes dois métodos, enquanto um método utiliza 14 jumpers o outro utiliza somente 4, enquanto um necessita de protoboard e trimpot o outro não necessita destes equipamentos para funcionamento, como podemos ver, muitas são as vantagens de se utilizar o Adaptador I2C.

 

Como Alterar o Código Tradicional para I2C

Para você que achou grande a diferença entre os modos de conexão de ambos os métodos, saiba que o esquema de adaptação do código é extremamente simples e facilmente compreendido por quem deseja mudar o seu projeto sem se preocupar muito com o código.

Vamos começar com um código exemplo para impressão de textos em um display LCD 20×4:
[crayon-662ea33f94e2a454309916/]
Este é um código simples que possui como finalidade somente apresentar os caracteres descritos junto ao código no Display LCD 20×4, vale lembrar que 20 sendo o número de colunas, é o número máximo de caracteres possíveis por linha, caso esteja utilizando um display 16×2 outras alterações devem ser feitas junto ao código, como a remoção de caracteres e linhas.

Para alterar este código, e torna-lo compatível com o sistema de comunicação I2C é somente necessário a realização de dois passos:

Incluir bibliotecas para comunicação I2C: É necessário para este procedimento a inclusão das bibliotecas Wire e LiquidCrystal_I2C (Download AQUI), esta segunda biblioteca é a única que necessita ser incluída na pasta libraries do Arduino, veja:

Em vez de:
[crayon-662ea33f94e37587694752/]
Vamos alterar para:
[crayon-662ea33f94e38258136604/]
 

Identificar o Endereço utilizado pelo Adaptador: Anteriormente trabalhamos com pinos digitais, os identificamos e nomeamos para reconhecimento do Arduino, neste caso vamos identificar o Endereço e demais informações para a comunicação, veja:

Em vez de:
[crayon-662ea33f94e39027894048/]
Vamos alterar para:
[crayon-662ea33f94e3a731891741/]
Alterar o modo de inicialização do Display: Como estamos trabalhando com um sistema diferente, a inicialização deste modelo também é um pouco diferenciada, para isto temos que alterar o que define as colunas e linhas no void setup pelas variáveis de inicialização, veja:

Em vez de:
[crayon-662ea33f94e3b344627002/]
Vamos alterar para:
[crayon-662ea33f94e3c012332073/]
Com isto, todas as alterações necessárias já estarão realizadas e o código para comunicação I2C fica da seguinte forma:
[crayon-662ea33f94e3e045096126/]
 

Conclusão

Alterar o sistema de comunicação parece ser algo complicado e que pode nos dar muita dor de cabeça, porém como pudemos ver, é um procedimento simples e que pode ser realizado sem problema algum, desde que tenha a biblioteca certa e as variáveis definidas.

Com o fim do Projeto Arduino com Display LCD  20×4 e Adaptador I2C, pudemos verificar bem acentuadamente que a diferença no sistema de conexão é extremamente grande, diminuímos consideravelmente o número de jumpers e conexões e que a alteração no código é extremamente simples sem maiores segredos e dificuldade.

Agora o próximo passo é desenvolver novos projetos, novos códigos e novas possibilidades, utilize este projeto como base para diversos outros e não esqueça de comentar suas experiências logo abaixo nos comentários, esperamos eu tenham gostado deste artigo e até a próxima!

Sair da versão mobile