Projeto ESP32 com Display 16×2

Adicionar em um Projeto ESP32 um Display torna a visibilidade de dados muito mais interessante. Nesse tutorial, demonstraremos como conectar um display de 16×2 em uma ESP32. Utilizaremos também...

Adicionar em um Projeto ESP32 um Display torna a visibilidade de dados muito mais interessante. Nesse tutorial, demonstraremos como conectar um display de 16×2 em uma ESP32. Utilizaremos também um adaptador I2C, que diminui consideravelmente a quantidade de jumpers utilizados.

 

 

Esse display nos permite utilizar duas linhas e 16 colunas. Podemos nos localizar nele com a lógica de coordenadas x e y. Ainda nisso, cada coordenada (x, y) ainda possui uma malha de 5×8 bits, os quais são acionados ou desligados de maneira a formarem um caractere. Eles também podem ser utilizados para criar outros caracteres personalizados.

O adaptador I2C nos fornece uma conexão muito rápida e eficiente com a ESP32. Ele é, sem dúvidas, indispensável para que o projeto não fique cheio de fios. Pode-se também conectar outros módulos I2C com outros displays caso seja necessário.

Abaixo confira na lista os materiais que iremos utilizar no Projeto ESP32 com Display.

 

Biblioteca utilizada

Para dar sequência ao projeto esp32 utilizaremos a biblioteca que está hospedada no GitHub. Você pode acessá-la através deste link.

Faça o download, extraia seus arquivos e cole na pasta libraries, do Arduino. Normalmente essa pasta se localiza em “C:\Users\<user>\Documents\Arduino\libraries”. Renomeie ela para “LiquidCrystal_I2C”. Feito isso, inicie a IDE do Arduino.

 

Esquemático

A conexão da ESP32 com o adaptador I2C utiliza apenas 4 fios no Projeto ESP32 com Display. Para uma melhor utilização, é recomendável soldar o adaptador no display 16×2. Na figura abaixo, utilizei fios apenas para fins de ilustração. O fio vermelho indica a conexão do módulo com o pino de 5V (Vin) da ESP. O fio preto indica o GND. O fio verde (SDA) está ligado na GPIO 21 e o fio laranja está ligado na GPIO 22.

 

 

Código Projeto ESP32 com Display

Não se esqueça de pressionar o botão Io0 ao enviar o código para o ESP32!

#include &amp;amp;lt;Wire.h&amp;amp;gt;
#include &amp;amp;lt;LiquidCrystal_I2C.h&amp;amp;gt;

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
 lcd.begin();
 lcd.backlight();

 lcd.print("ESP32 - Projeto");
 lcd.setCursor(0, 1);
 lcd.print("com display!");
}

void loop() {}

Nesse código, além de incluirmos a biblioteca que acabamos de instalar, LiquidCrystal_I2C, também incluímos a biblioteca Wire. Ela é necessária para que sejam utilizadas rotinas de comunicação I2C.

Em seguida, criamos uma objeto lcd que recebe como parâmetros o endereço I2C em hexadecimal, 0x27, e o número de colunas e linhas do display. No nosso caso, utilizamos o display de 16×2.

 

Funções

Para inicializar o display, usamos a função .begin().

Em seguida, para ativar a iluminação, usamos a função .backlight(). Caso você queira desligá-la, pode usar a função .noBacklight().

Para escrever um caractere, basta utilizar a função .print(“texto”). Isso escreve um caracter na primeira linha e primeira coluna do display. Para escrever em uma coordenada diferente, basta utilizar a função .setCursor(coluna, linha) imediatamente antes de usar o .print(). Se você quiser escrever uma variável no display, basta utilizar a função .print(variável), sem as aspas.

Na próxima seção, implementamos um pequeno cronômetro de 1 minuto para demonstrar como atualizar valores no display.

 

Projeto Esp32 Display – Cronômetro

Nesse código fizemos uma variável t, representando o tempo desejado para o cronômetro, e um laço for. Nele, é atualizado o valor do tempo a cada segundo que passa.

#include &amp;amp;lt;Wire.h&amp;amp;gt;
#include &amp;amp;lt;LiquidCrystal_I2C.h&amp;amp;gt;

LiquidCrystal_I2C lcd(0x27, 16, 2);
int t= 20;

void setup() {
lcd.begin();
lcd.backlight();

for (int i = 0; i &amp;amp;lt;= t; i++) {
lcd.clear();
lcd.print("Cronometro");
lcd.setCursor(0, 1);
lcd.print("Tempo: ");
lcd.setCursor(7, 1);
lcd.print(i);
delay(1000);
}

lcd.clear();
lcd.print("Fim!");

}

void loop() {}

Nesse código utilizamos também a função .clear(). Note, porém, que tivemos que reescrever o texto toda vez que o laço for era executado. Isso acontece por que o .clear() apaga todos os caracteres da tela, sem fazer distinção. Dessa maneira, é possível escrever valores que variam com o tempo. Confira no gif abaixo como ficou o projeto!

 

 

Conclusão

Nesse tutorial ESP32 demonstramos como conectar o display 16×2 a um ESP32 com o módulo I2C por meio do Projeto ESP32 com Display. Verificamos como utilizar a biblioteca LiquidCrystal_I2C para mostrar textos e valores no display. Vimos também como atualizar valores de acordo com o tempo. Com isso já é possível implementar diversos outros projetos maiores que requeiram as funções que foram usadas nesse tutorial.

Conheça toda Linha ESP32 no Site da UsinaInfo, Acesse Agora!

Categorias
ESP32

Bacharel em Ciência da Computação pela URI – Campus de Santo Ângelo, com experiência no desenvolvimento de pesquisas em Robótica e prototipação de Sistemas Robóticos.
Sem Comentários

Enviar Resposta

*

*

Sobre nós

Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

Sugestões
  • O Projeto Arduino de Irrigação Automática nos mostra que sempre existe algo escondido que nos arranca um sorriso e nos deixa impressionado. Conhecimento nunca é de mais e desbravar...
  • O ESP32 LoRa WiFi é uma pequena placa de desenvolvimento que integra três formas distintas de comunicação: Wifi, Bluetooth e a rede de comunicação de longo alcance – LoRa...
  • Adicionar em um Projeto ESP32 um Display torna a visibilidade de dados muito mais interessante. Nesse tutorial, demonstraremos como conectar um display de 16×2 em uma ESP32. Utilizaremos também...
  • Continuando a série de tutoriais sobre Micropython ESP32, iremos desenvolver alguns projetos para exemplificar o seu uso. Em todos os exemplos, estaremos utilizando o uPyCraft IDE. O entendimento do...

Artigos Relacionados

  • Esp32 Lora WiFi

    ESP32 LoRa WiFi SX1278

    O ESP32 LoRa WiFi é uma pequena placa de desenvolvimento que integra três formas distintas de comunicação: Wifi, Bluetooth e a rede de comunicação de longo alcance – LoRa...
  • Micropython ESP32: Parte 2

    Continuando a série de tutoriais sobre Micropython ESP32, iremos desenvolver alguns projetos para exemplificar o seu uso. Em todos os exemplos, estaremos utilizando o uPyCraft IDE. O entendimento do...
  • Micropython ESP32: Parte 1

    Micropython ESP32 é uma linguagem de programação compacta, porém eficiente, derivada de Python 3. Ela inclui diversas subfunções da biblioteca padrão do Python e é otimizada para rodar em...
  • Projeto ESP32 com Display OLED e Sensor AM2302 DHT22 Medindo Temperatura e Umidade

    Nesse Projeto ESP32 com Display iremos usar o Sensor AM2302 para exibir informações de temperatura e umidade no display integrado do NodeMCU ESP32 Display OLED. Veremos como utilizar a...