Esta lição inclui os seguintes tópicos:
1: Introdução à tela OLED ESP32
Uma tela OLED I2C é um tipo de exibição orgânica emissora de luz (OLED) que usa o protocolo de circuito interegrado (I2C) para comunicação. Os displays OLED são conhecidos por sua alta taxa de contraste, ângulo de visualização amplo e tempo de resposta rápido, tornando-os adequados para uma variedade de aplicativos de exibição.
Uma tela OLED I2C normalmente consiste em uma pequena tela OLED e um circuito de motorista que converte os sinais I2C nas tensões e correntes apropriadas necessárias para acionar os pixels OLED.
LEDs dentro da tela OLED iluminam os pixels que nos exibem diferentes imagens e texto. Enquanto do outro lado, a tela LCD usa uma luz de fundo para iluminar seus pixels. O brilho desses pixels pode ser controlado por pixel por pixel.
Agora vamos interface o ESP32 com uma tela OLED.
2: Módulo de exibição OLED de fiação para ESP32
As telas OLED funcionam principalmente em dois protocolos de comunicação. Estes são i2c e spi. Entre esses dois SPI (interface periférica em série) é mais rápida em comparação com o I2C, mas na maioria das vezes a tela OLED I2C é preferida devido a um número menor de fios.
O I2C é um protocolo de comunicação serial de dois fios que permite que vários dispositivos compartilhem um único conjunto de dados e linhas de relógio, tornando-o uma opção conveniente para conectar displays OLED a microcontroladores e outros dispositivos
Usando I2C OLED Two Pins SDA e SCL são suficientes para exibir imagens e texto. A imagem dada mostra Esp32 com 0.Tela OLED de 96 polegadas (128 × 64 pixels).
Esp32 pinos A conexão com OLED é a seguinte:
Como interfiguramos o ESP32 com uma tela OLED, agora instalaremos as bibliotecas necessárias no Arduino IDE para que possamos avançar com formas exibidas na tela OLED.
3: Instalando as bibliotecas necessárias
Para exibir imagens, precisamos instalar as bibliotecas necessárias para tela OLED no Arduino IDE. Sem usar essas bibliotecas, o ESP32 não pode exibir gráficos no OLED.
Principalmente duas bibliotecas da Adafruit são usadas: SSD1306 e Biblioteca GFX. Primeiro abra o Arduino IDE e pesquise na biblioteca SSD1306. Instale a biblioteca OLED SSD1306 por Adafruit. Outra maneira de instalar vai: Sketch> Incluir biblioteca> Gerenciar bibliotecas:
Agora instale o GFX Biblioteca por Adafruit:
Agora instalamos as duas bibliotecas. Agora podemos programar facilmente o ESP32 com uma tela OLED.
4: desenhando uma barra de progresso na tela OLED usando Arduino IDE
Para desenhar uma barra de progresso em uma tela OLED, usaremos o mostrar.drawProgressBar (20, 20, 100, 20, progresso); função.
Esta função leva 5 argumentos:
Depois de definir todos esses 5 parâmetros, envie o código para a placa ESP32.
1: código
Abra o Arduino IDE, Connect ESP32 e Código de upload:
O código iniciado incluindo os arquivos de biblioteca SSD1306 necessários. Depois disso, definimos o endereço I2C e os pinos i2c para comunicação.
Lembre -se de verificar o endereço I2C antes de definir. Para verificar o endereço I2C de qualquer dispositivo, envie o código fornecido no tutorial como digitalizar o endereço I2C no ESP32 usando o Arduino IDE.
Se você estiver usando mais de um dispositivo I2C com o mesmo endereço, você deve alterar o endereço de qualquer um deles primeiro.
Em seguida no código, inicializamos a tela OLED e definimos uma fórmula de progresso.
A fórmula de progresso calculará o progresso e o valor do armazenamento no progresso da variável global. Simplesmente somamos o 10 para o valor do progresso atual e obtemos o restante dividindo -o com 110 usando o operador do módulo. Depois que a barra de progresso for concluída, teremos 110%110, o que nos dá 0. Isso começará automaticamente a barra novamente de zero.
Próximo drawProgressBar é chamado e esta função exibirá a barra de progresso de acordo com o valor atual do progresso variável. Esta função levará 5 argumentos, conforme explicado anteriormente.
#include "SSD1306.h "
SSD1306 Display (0x3C, 21, 22);
int progresso = 0;
Void Setup ()
mostrar.iniciar();
Void Loop ()
mostrar.claro();
progresso = (progresso + 10) % 110;
mostrar.drawProgressBar (20, 20, 100, 20, progresso);
mostrar.mostrar();
atraso (1000);
2: saída
Após o upload do código no ESP32 abaixo, a saída aparecerá na tela OLED. Esta saída mostra que a barra de progresso está em 10%, que é a posição inicial do conjunto:
Agora, a barra de progresso está em 100%, o que significa que uma determinada tarefa é concluída:
Aqui estão os estágios de saída entre 0% e 100%. Definimos o intervalo de progresso para 10:
Conclusão
A barra de progresso é uma ótima maneira de exibir o progresso em tempo real de um projeto. Usando displays OLED com ESP32, podemos pegar dados em tempo real e exibi -los sobre a tela. Usando o código dado qualquer um dos dados pode ser representado na forma de barra de progresso.