Arduino - LCD I2C
Neste tutorial de LCD I2C com Arduino, vamos aprender a conectar um LCD I2C (Liquid Crystal Display - Display de Cristal Líquido) à placa Arduino. Os LCDs são muito populares e amplamente usados em projetos de eletrônica para mostrar informações. Existem muitos tipos de LCD. Este tutorial usa o LCD 16x2 (16 colunas e 2 linhas) como exemplo. Os outros LCDs são semelhantes.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: Alternatively, you can assemble the LCD I2C display using LCD 1602 Display and PCF8574 I2C Adapter Module.
Sobre o LCD I2C 16x2
No tutorial anterior, aprendemos a usar o LCD comum. Porém, a ligação entre o Arduino e o LCD comum é complicada. Por isso, o LCD I2C foi criado para simplificar a ligação. Na verdade, o LCD I2C é composto por um LCD comum, um módulo I2C e um potenciômetro.
Pinagem
O LCD I2C usa a interface I2C, então ele tem 4 pinos:
- Pino GND: precisa ser conectado ao GND (0V).
- Pino VCC: a alimentação do LCD, precisa ser conectado ao VCC (5V).
- Pino SDA: sinal de dados do I2C
- Pino SCL: sinal de clock do I2C

Coordenadas do LCD
O LCD I2C 16x2 tem 16 colunas e 2 linhas. As colunas e as linhas são indexadas a partir de 0.

Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
| LCD I2C | Arduino Uno, Nano | Arduino Mega |
|---|---|---|
| Vin | 5V | 5V |
| GND | GND | GND |
| SDA | A4 | 20 |
| SCL | A5 | 21 |
Como Programar o LCD I2C
Graças à biblioteca DIYables_LCD_I2C, usar o LCD fica muito fácil.
- Inclua a biblioteca:
- Declare um objeto DIYables_LCD_I2C com o endereço I2C, o número de colunas e o número de linhas:
- Inicialize o LCD.
- Mova o cursor para a posição desejada (column_index, row_index)
- Mostre uma mensagem no LCD.
Há muito mais coisas que podemos fazer com o LCD (veja a parte Faça Mais com o LCD)
※ Nota:
O endereço I2C do LCD pode variar de acordo com o fabricante. No código, usamos 0x27, que é o endereço especificado pelo fabricante DIYables
Código Arduino
Passos Rápidos
- Vá até o ícone Libraries na barra lateral esquerda da Arduino IDE.
- Pesquise "DIYables LCD I2C" e encontre a biblioteca DIYables_LCD_I2C da DIYables
- Clique no botão Install para instalar a biblioteca DIYables_LCD_I2C.

- Copie o código acima e abra-o na Arduino IDE
- Clique no botão Upload na Arduino IDE para carregar o código no Arduino
- Veja o resultado no LCD

- Experimente modificar o texto e a posição
Vídeo
Faça Mais com o LCD
Caractere Personalizado
A função lcd.print() suporta apenas caracteres ASCII. Se você quiser mostrar um caractere ou símbolo especial (por exemplo, um coração, um angry bird), precisa usar o gerador de caracteres abaixo.
O LCD 16x2 pode mostrar 32 caracteres (2 linhas e 16 colunas). Cada caractere é composto por 40 pixels (8 linhas e 5 colunas).
O gerador de caracteres representa um caractere (40 pixels). Você só precisa seguir os passos abaixo:
Resultado no LCD:

Vários caracteres personalizados
Podemos criar até 8 caracteres personalizados (com índices de 0 a 7). O exemplo abaixo cria e mostra três caracteres.
Resultado no LCD:

Resumo: como usar caracteres personalizados no LCD
- Use o gerador de caracteres acima para criar o código binário do caractere personalizado.
- Declare o código binário do caractere personalizado (copie do passo acima)
- Crie o caractere personalizado e atribua a ele um valor de índice (de 0 a 7) na função setup()
- Mostre o caractere personalizado no LCD a qualquer momento, em qualquer lugar (na função setup() ou loop())
Outras funções
Adicione as funções abaixo na função loop(), uma de cada vez. E adicione delay(5000) depois de cada função
- Limpar a tela do LCD
- Mover o cursor para o canto superior esquerdo do LCD
- Mover o cursor para uma posição (column, row)
- Mostrar o cursor do LCD
- Ocultar o cursor do LCD.
- Mostrar o cursor piscante do LCD
- Desligar o cursor piscante do LCD.
- E mais em Referência da Biblioteca LiquidCrystal
Desafie-se
Use o LCD para fazer um dos seguintes projetos:
- Enviar texto do PC (pelo Serial Monitor) e mostrá-lo no LCD. Dica: Consulte Como enviar dados do PC para o Arduino
- Mostrar no LCD a tecla pressionada do teclado. Dica: Consulte Arduino - Teclado
Solução de Problemas do LCD I2C
Se o texto não aparecer no LCD I2C, verifique os seguintes pontos:
- Ajuste o brilho do LCD girando o potenciômetro na parte de trás do LCD
- Dependendo do fabricante, o endereço I2C do LCD pode ser diferente. Normalmente, o endereço I2C padrão do LCD é 0x27 ou 0x3F. Experimente esses valores um de cada vez. Se ainda assim não funcionar, execute o código abaixo para encontrar o endereço I2C.
O resultado no Serial Monitor: