Módulo I2C - Primeiros Passos




O Módulo LCD I²C ou I2C é ideal para ser utilizado em projetos envolvendo LCDs, podendo estar presente em projetos com Arduino ou outros Microcontroladores que tenham suporte ao protocolo I²C onde há diversos dispositivos (não necessariamente LCDs) que comunicarão entre si com apenas duas linhas de dados.
O protocolo I²C foi desenvolvido pela Philips (atual NXP) visando conectar diversos dispositivos (periféricos) utilizando apenas as duas linhas de dados citados acima (SDA e SCL) Serial Data e Serial Clock. A ideia principal é definir um endereço hexadecimal para cada dispositivo e no momento de comunicação somente o dispositivo solicitado responderá.

Conhecendo cada um dos itens do Módulo LCD I²C:
  • DIP SWITCH: Define o endereço do seu dispositivo (podendo ir de 0x20 a 0x27).
  • Trimpot (potenciômetro): Para quantificar a luminosidade do Backlight do seu Display LCD
  • Conectores Latch (ou IDC): Utilizando Jumpers M/F ou F/F você conecterá o módulo tanto com seu Mestre (no caso desse tutorial uma BlackBoard) quanto a seus Slaves.

Para módulos I2C adquiridos até Agosto de 2020, utilize a tabela a seguir.



Para módulos I2C adquiridos após Agosto de 2020, utilize a tabela a seguir.




Para começar nosso tutorial precisamos primeiramente instalar a Biblioteca LiquidCrystal_I2C disponível clicando aqui.
Caso não saiba adicionar uma biblioteca na IDE dê uma olhada no tutorial: Adicionando Bibliotecas na IDE do Arduino.


Nota: o módulo I2C pode ser soldado sob o LCD, desde que sejam feitas as mesmas conexões (exemplo).

Abaixo segue um código básico de Hello World no endereço 0x20 (no conector DIP SWITCH eles devem estar todos setados para cima conforme a ilustração acima):


Agora que já sabemos imprimir na tela do LCD uma informação, vamos a um exemplo que tem como função exibir na Tela do LCD qual a temperatura captada por um LM35. Lembrando que o intuito deste código é apresentar algumas funções disponíveis na Biblioteca. O endereço agora será 0x27 altere o endereço no DIP Switch, deixe todos setados para baixo.


Solução de Problemas

Endereço I2C não está Funcionando

Caso esteja tendo dificuldades em obter ou acessar o endereço I2C do seu módulo, utilize o exemplo "i2c_scanner" da Arduino IDE (Arquivo > Exemplos > Wire), para obter mais facilmente o endereço correspondente do seu módulo. Se o exemplo retornar um erro pelo monitor serial ao escanear pelo endereço, tente inverter a conexão dos pinos SDA e SCL do circuito.

Vale lembrar que, após obter o endereço do módulo, é necessário alterar o endereço no código também.