Dibujando una barra de progreso en OLED con Esptop 10 usando Arduino IDE

Dibujando una barra de progreso en OLED con Esptop 10 usando 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. ESP32 con OLED puede mostrar diferentes tipos de datos en forma gráfica. Aquí en este artículo, cubriremos el código para mostrar barras de progreso en una pantalla OLED. Esto moverá el progreso en tiempo real de acuerdo con un intervalo establecido.

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 una barra de progreso en la pantalla OLED usando Arduino IDE
  • 4.1: código
  • 4.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.

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 Biblioteca GFX. 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 una barra de progreso en la pantalla OLED usando Arduino IDE

Para dibujar una barra de progreso en una pantalla OLED, usaremos el mostrar.DrawProgressbar (20, 20, 100, 20, progreso); función.

Esta función toma 5 argumentos:

  • Posición del centro con respecto a X-Coordinate
  • Posición del centro con respecto a la coordenada y
  • El tercer argumento es el ancho del bar
  • El cuarto argumento es la altura de la barra de progreso
  • El último argumento es el progreso real que pasamos un valor entero entre 0 y 100

Después de definir todos estos 5 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 una fórmula de progreso.

La fórmula de progreso calculará el progreso y el valor de la tienda en el progreso variable global. Simplemente resumimos los 10 al valor de progreso actual y obtenemos el resto dividiéndolo con 110 usando el operador de módulo. Una vez que se complete la barra de progreso, tendremos 110%110, lo que nos da 0. Esto iniciará automáticamente la barra nuevamente desde cero.

Próximo DrawProgressbar se llama y esta función mostrará la barra de progreso de acuerdo con el valor actual del progreso variable. Esta función tomará 5 argumentos como se explicó anteriormente.

#Include "SSD1306.H "
Pantalla SSD1306 (0x3c, 21, 22);
int progrese = 0;
setup () void
mostrar.en eso();

bucle void ()
mostrar.claro();
progreso = (progreso + 10) % 110;
mostrar.DrawProgressbar (20, 20, 100, 20, progreso);
mostrar.mostrar();
retraso (1000);

2: salida

Después de cargar el código en ESP32, la salida a continuación aparecerá en la pantalla OLED. Esta salida muestra que la barra de progreso es del 10%, que es la posición de conjunto inicial:

Ahora la barra de progreso está al 100%, lo que significa que se completa una determinada tarea:

Estas son las etapas de salida entre el 0% y el 100%. Hemos establecido el intervalo de progreso en 10:

Conclusión

Progress Bar es una excelente manera de mostrar el progreso en tiempo real de un proyecto. Usando pantallas OLED con ESP32 podemos tomar datos en tiempo real y mostrarlos sobre la pantalla. El uso del código dado cualquiera de los datos puede representarse en forma de barra de progreso.