Cómo dibujar rectángulo en OLED usando ESP Top 10 con Arduino IDE

Cómo dibujar rectángulo en OLED usando ESP Top 10 con Arduino IDE

ESP32 es una placa de microcontrolador de conservación de potencia basada en IoT. ESP32 tiene todas las características que necesita un tablero de microcontrolador. Es una opción popular para proyectos de Internet de las cosas (IoT) y a menudo se usa como microcontrolador para la automatización del hogar, la electrónica portátil y otros dispositivos conectados. El ESP32 tiene un procesador de doble núcleo, muchos pines de entrada/salida (E/S) que se pueden programar utilizando el entorno de desarrollo integrado de Arduino (IDE). Hoy este artículo cubrirá los pasos necesarios para integrar una pantalla OLED I2C con ESP32. Después de eso, dibujaremos una forma rectangular en una pantalla OLED.

Esta lección incluye los siguientes temas:

1: Introducción a la pantalla OLED ESP32

2: Módulo de pantalla OLED de cableado a ESP32

3: Instalación de bibliotecas requeridas

4: dibujar un rectángulo en la pantalla OLED usando Arduino IDE

4.1: código

4.2: salida

5: dibujar un rectángulo relleno en la pantalla OLED usando Arduino IDE

5.1: código

5.2: salida

6: Combinando ambos rectángulos en la pantalla OLED usando Arduino IDE

6.1: código

6.2: salida

1: Introducción a la pantalla OLED ESP32

Una pantalla OLED I2C es un tipo de pantalla orgánica de diodos emisores de luz (OLED) que utiliza el protocolo del circuito interintegrado (I2C) para la comunicación. Las pantallas OLED son conocidas por su alta relación de contraste, un amplio ángulo de visión y un tiempo de respuesta rápido, lo que las hace muy adecuadas para una variedad de aplicaciones de visualización.

Una pantalla OLED I2C generalmente consiste en una pequeña pantalla OLED y un circuito de controlador que convierte las señales I2C en los voltajes y las corrientes necesarias para conducir los píxeles OLED. Estas pantallas a menudo se usan en pequeños dispositivos portátiles, como relojes inteligentes y rastreadores de fitness, así como en paneles de pantalla más grandes y otras aplicaciones donde se requiere una pantalla compacta de baja potencia.

LED dentro de la pantalla OLED ilumina los píxeles que nos muestran diferentes imágenes y texto. Mientras que por otro lado, la pantalla LCD usa una luz de fondo para iluminar sus píxeles. El brillo de estos píxeles se puede controlar píxel por píxel.

Ahora interactuaremos ESP32 con una pantalla OLED.

2: Módulo de pantalla OLED de cableado a ESP32

Las pantallas OLED funcionan principalmente en dos protocolos de comunicación. Estos son I2C y SPI. Entre estos dos SPI (interfaz periférica en serie) es más rápido en comparación con I2C, pero la mayoría de las veces se prefiere la pantalla OLED I2C debido a un número menor de cables.

I2C es un protocolo de comunicación en serie de dos hilos que permite que múltiples dispositivos compartan un solo conjunto de datos y líneas de reloj, por lo que es una opción conveniente para conectar pantallas OLED a microcontroladores y otros dispositivos

El uso de I2C OLED dos pines SDA y SCL son suficientes para mostrar imágenes y texto. La imagen dada muestra ESP32 con 0.Pantalla OLED de 96 pulgadas (128 × 64 píxeles):

La conexión de pines ESP32 con OLED es la siguiente:

Como hemos interconectado ESP32 con una pantalla OLED, ahora instalaremos las bibliotecas necesarias en el IDE Arduino para que podamos avanzar con formas que se muestran en la pantalla OLED.

3: Instalación de bibliotecas requeridas

Para mostrar imágenes, necesitamos instalar las bibliotecas necesarias para la pantalla OLED en Arduino IDE. Sin usar estas bibliotecas, ESP32 no puede mostrar gráficos en OLED. Principalmente se utilizan dos bibliotecas de Adafruit: SSD1306 y Gfx biblioteca.

Primero abra el IDE Arduino y busque en la biblioteca SSD1306. Instale la biblioteca OLED SSD1306 por Adafruit. Otra forma de instalar va a: Sketch> incluir biblioteca> Administrar bibliotecas:

Ahora instale el Gfx Biblioteca de Adafruit:

Ahora hemos instalado ambas bibliotecas. Ahora podemos programar fácilmente ESP32 con una pantalla OLED.

4: dibujar un rectángulo en la pantalla OLED usando Arduino IDE

Para dibujar un rectángulo en una pantalla OLED, usaremos el DrawRect (X-Coordinate, Y-Coordinado, Ancho, Altura) función.

Esta función toma 4 argumentos:

  • Posición del centro con respecto a X-Coordinate
  • Posición del centro con respecto a la coordenada y
  • Ancho del rectángulo
  • Altura del rectángulo

Después de definir todos estos tres parámetros, cargue el código en la placa ESP32.

1: código

Abra Arduino IDE, conecte ESP32 y carga el código:

Código iniciado incluyendo los archivos de biblioteca SSD1306 necesarios. Después de eso definimos la dirección I2C y los pines I2C para la comunicación.

Recuerde verificar primero la dirección I2C antes de definir. Para verificar la dirección I2C de cualquier dispositivo cargue el código dado en el tutorial cómo escanear la dirección I2C en ESP32 usando Arduino IDE.

Si está utilizando más de un dispositivo I2C con la misma dirección, primero debe cambiar la dirección de cualquiera de ellos.

A continuación, en el código inicializamos la pantalla OLED y definimos el dibujarRect () función. Aquí definimos el píxel central del rectángulo con una coordenada x de 40 e Y coordenadas de 20. El ancho del rectángulo se establece en 40 y la altura del rectángulo se establece en 30. Aquí, tanto la altura como el ancho del rectángulo están de acuerdo con el número de píxeles:

#Include "SSD1306.H "
Pantalla SSD1306 (0x3c, 21, 22);
setup () void
mostrar.en eso();
mostrar.dibujo (40, 20, 70, 30);
mostrar.mostrar();

bucle void ()

2: salida

Después de cargar el código en ESP32, la salida a continuación aparecerá en la pantalla OLED:

5: dibujar un rectángulo relleno en la pantalla OLED usando Arduino IDE

Ahora dibujaremos un rectángulo relleno. El código es bastante similar al anterior. La única diferencia aquí es que hemos usado una nueva función mostrar.Fillrect (40, 20, 70, 30); Esta función también toma 4 argumentos como el anterior. Los primeros dos argumentos definirán la posición del rectángulo y los dos restantes representarán el ancho y la altura del rectángulo respectivamente.

1: código

Abra Arduino IDE y cargue el código dado:

Código iniciado incluyendo los archivos de biblioteca SSD1306 necesarios. Después de eso definimos la dirección I2C y los pines I2C para la comunicación.

A continuación, en el código inicializamos la pantalla OLED y definimos el Fillrect () funcionar como un rectángulo relleno. Esta función dibujará un rectángulo relleno con parámetros definidos. Aquí definimos el píxel central del rectángulo con una coordenada x de 40 e Y coordenadas de 20. Rectángulo con ancho y altura de 70 y 30 respectivamente se dibujará en una pantalla OLED.

#Include "SSD1306.H "
Pantalla SSD1306 (0x3c, 21, 22);
setup () void
mostrar.en eso();
mostrar.Fillrect (40, 20, 70, 30);
mostrar.mostrar();

bucle void ()

2: salida

Después de cargar código a ESP32 debajo del rectángulo relleno, se puede ver:

6: Combinando ambos rectángulos en la pantalla OLED usando Arduino IDE

Ahora para combinar ambos rectángulos definiremos ambas funciones en el mismo programa. Recuerde cambiar la posición y las dimensiones del rectángulo, de lo contrario, ambos rectángulos se superponen.

1: código

Abra Arduino IDE y cargue código a ESP32:

Este programa dibujará dos rectángulos con las mismas dimensiones. Se llena un rectángulo y el otro no está cubierto.

#Include "SSD1306.H "
Pantalla SSD1306 (0x3c, 21, 22);
setup () void
mostrar.en eso();
mostrar.dibujo (10, 10, 40, 20);
mostrar.Fillrect (70, 10, 40, 20);
mostrar.mostrar();

bucle void ()

2: salida

Después de cargar código, podemos ver la salida a continuación en la pantalla OLED:

Conclusión

Las pantallas OLED son una excelente manera de dar una representación gráfica a nuestros datos. Aquí este artículo cubre algunos pasos simples necesarios para dibujar un rectángulo en una pantalla OLED. Usando el código dado, cualquier pantalla OLED se puede usar para mostrar imágenes y texto.