Display LCD 16x2

A comunicação I2C simplifica a comunicação entre dispositivos

O módulo I2C para display LCD 16x2 ou 20x4 tem como principal função simplificar as conexões e facilitar a utilização de displays LCD ao microcontrolador.

O conversor deve ser acoplado ao display LCD por meio da conexão dos seus 16 pinos.

O módulo I2C conta com dois pinos para controle da luz de fundo do visor do display, que se encontram conectados por um jumper, por padrão. Assim, a luz de fundo estará sempre ligada. Você pode remover este jumper para desligar a luz de fundo do display.

Além disto, a placa conta com um pequeno trimpot para fazer ajustes finos no contraste do display e um barramento para configuração do endereço I2C.

Na parte lateral, o módulo I2C conta com quatro pinos para conexão com qualquer microcontrolador que suporte o protocolo de comunicação I2C.

Para integrar à placa AL-1 ou AL-2, estes pinos debem ser substituidos por um conector header macho de 180 reto.


BIBLIOTECAS NECESSARIAS


Para fazer a comunicação do modulo I2C o Arduino, vamos utilizar a biblioteca Wire.h que já se encontra instalada com o Arduino IDE.

Vamos usar também a biblioteca LiquidCrystal_I2C.h que permite controlar displays I2C com funções exatamente semelhantes à biblioteca LiquidCrystal. Para instalá-la, abra o Gerenciador de Bibliotecas através do caminho: Ferramentas>Gerenciar Bibliotecas… ou por meio do atalho Ctrl+Shift+I. Em seguida, busque por LiquidCrystal I2C e clique em instalar.

Display 16x2 i2c
#include <Wire.h> // Biblioteca utilizada para fazer a comunicação com o I2C
#include <LiquidCrystal_I2C.h> // Biblioteca utilizada para fazer a comunicação com o display 20x4 

#define col 16     // Serve para definir o numero de colunas do display utilizado
#define lin  2     // Serve para definir o numero de linhas do display utilizado
#define ende  0x27 // Serve para definir o endereço do display.

LiquidCrystal_I2C lcd(ende,col,lin); // Chamada da funcação LiquidCrystal para ser usada com o I2C

void setup() //Incia o display
{  
    lcd.init();      // Serve para iniciar a comunicação com o display já conectado
    lcd.backlight(); // Serve para ligar a luz do display
    lcd.clear();     // Serve para limpar a tela do display
}
void loop() 
{
    lcd.setCursor(2,0);         // Coloca o cursor do display na coluna 2 e linha 0
    lcd.print("Quer aprender"); // Comando de saída com a mensagem que deve aparecer na coluna 2 e linha 0.
    lcd.setCursor(4,1);         //Coloca o cursor do display na coluna 4 e linha 1
    lcd.print("Arduino?");      // Comando de saida com a mensagem que deve aparecer na coluna 4 e linha 1
    delay(5000);                // delay de 5 segundos com todas as mensagens na tela
    lcd.clear();                // Limpa o display até o loop ser reiniciado
    lcd.setCursor(4,0);         // Coloca o cursor do display na coluna 4 e linha 0
    lcd.print("PCB AL-1 ");     // Comando de saída com a mensagem que deve aparecer na coluna 4 e linha 0.
    lcd.setCursor(2,1);         //Coloca o cursor do display na coluna 2 e linha 1
    lcd.print("Plug & Play ");  // Comando de saida com a mensagem que deve aparecer na coluna 2 e linha 1
    delay(5000);                // delay de 5 segundos com todas as mensagens na tela
    lcd.clear();                // Limpa o display até o loop ser reiniciado
}