Como desenhar retângulo no OLED usando o ESP Top 10 com Arduino IDE

Como desenhar retângulo no OLED usando o ESP Top 10 com Arduino IDE

Esp32 é uma placa de microcontrolador de conservação de energia baseada em IoT. O ESP32 tem todos os recursos que uma placa de microcontrolador precisa. É uma escolha popular para projetos da Internet das Coisas (IoT) e é frequentemente usada como microcontrolador para automação doméstica, eletrônicos vestíveis e outros dispositivos conectados. O ESP32 possui um processador de núcleo duplo, muitos pinos de entrada/saída (E/S) que podem ser programados usando o ambiente de desenvolvimento integrado do Arduino (IDE). Hoje este artigo abordará as etapas necessárias para integrar uma tela OLED i2C com ESP32. Depois disso, desenharemos uma forma retangular em uma tela OLED.

Esta lição inclui os seguintes tópicos:

1: Introdução à tela OLED ESP32

2: Módulo de exibição OLED de fiação para ESP32

3: Instalando as bibliotecas necessárias

4: desenhando um retângulo na tela OLED usando Arduino IDE

4.1: código

4.2: saída

5: desenhando um retângulo preenchido na tela OLED usando Arduino IDE

5.1: código

5.2: saída

6: Combinando ambos o retângulo na tela OLED usando Arduino IDE

6.1: código

6.2: saída

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. Esses monitores são frequentemente usados ​​em pequenos dispositivos portáteis, como relógios inteligentes e rastreadores de fitness, bem como em painéis de exibição maiores e outros aplicativos em que é necessária uma tela compacta e de baixa potência.

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 GFX biblioteca.

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 um retângulo na tela OLED usando Arduino IDE

Para desenhar um retângulo em uma tela OLED, usaremos o drawrect (coordenada x, coordenada y, largura, altura) função.

Esta função leva 4 argumentos:

  • Posição do centro em relação à coordenada x
  • Posição do centro em relação à coordenada y
  • Largura do retângulo
  • Altura do retângulo

Depois de definir todos esses três 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 o empateRet () função. Aqui definimos o pixel central do retângulo com coordenada x de 40 e coordenadas y de 20. A largura do retângulo é definida como 40 e a altura do retângulo é definida como 30. Aqui, a altura e a largura do retângulo estão de acordo com o número de pixels:

#include "SSD1306.h "
SSD1306 Display (0x3C, 21, 22);
Void Setup ()
mostrar.iniciar();
mostrar.drawrect (40, 20, 70, 30);
mostrar.mostrar();

void loop ()

2: saída

Após o upload do código no ESP32 abaixo, a saída aparecerá na tela OLED:

5: desenhando um retângulo preenchido na tela OLED usando Arduino IDE

Agora vamos desenhar um retângulo cheio. O código é praticamente semelhante ao anterior. A única diferença aqui é que usamos uma nova função mostrar.Fillrect (40, 20, 70, 30); Esta função também leva 4 argumentos como a anterior. Os dois primeiros argumentos definirão a posição do retângulo e os dois restantes representarão largura e altura do retângulo, respectivamente.

1: código

Abra o Arduino IDE e envie o código fornecido:

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.

Em seguida no código, inicializamos a tela OLED e definimos o Fillrect () função como um retângulo preenchido. Esta função desenhará um retângulo preenchido com parâmetros definidos. Aqui definimos o pixel central do retângulo com coordenada x de 40 e coordenadas y de 20. Retângulo com largura e altura de 70 e 30, respectivamente, desenharão em uma tela OLED.

#include "SSD1306.h "
SSD1306 Display (0x3C, 21, 22);
Void Setup ()
mostrar.iniciar();
mostrar.Fillrect (40, 20, 70, 30);
mostrar.mostrar();

void loop ()

2: saída

Depois de fazer upload de código para ESP32 abaixo do retângulo preenchido, pode ser visto:

6: Combinando os dois retângulos na tela OLED usando Arduino IDE

Agora, para combinar os dois retângulos, definiremos as duas funções no mesmo programa. Lembre -se de alterar a posição e as dimensões do retângulo, caso contrário, ambos os retângulos se sobreporão.

1: código

Abra o Arduino IDE e Carregue o código para ESP32:

Este programa desenhará dois retângulos com as mesmas dimensões. Um retângulo está preenchido e o outro não é preenchido.

#include "SSD1306.h "
SSD1306 Display (0x3C, 21, 22);
Void Setup ()
mostrar.iniciar();
mostrar.drawrect (10, 10, 40, 20);
mostrar.Fillrect (70, 10, 40, 20);
mostrar.mostrar();

void loop ()

2: saída

Após o upload do código, podemos ver a saída abaixo na tela OLED:

Conclusão

Os displays OLED são uma ótima maneira de dar uma representação gráfica aos nossos dados. Aqui, este artigo cobre algumas etapas simples necessárias para desenhar um retângulo em uma tela OLED. Usando o código fornecido, qualquer tela OLED pode ser usada para exibir imagens e texto.