Hace algo menos de un mes me encontré con un artículo en la revista ‘The Magpi’. En él se hablaba de la construcción de un visor de fractales con un marco, una pantalla de tinta electrónica (e-ink display) y una Raspberry Pi. Aquí tenéis el artículo : https://magpi.raspberrypi.com/articles/piartframe.

A mi me encantó la idea desde el principio. Así que recordando que tenía una pantalla de tinta electrónica a la que no daba mucho uso (por no decir que estaba guardando polvo en una caja), decidí ponerme manos a la obra.

La pantalla venía con una placa de desarrollo para un microcontrolador ESP32. Se trata de una LilyGo ttgo T5 de 2.7 pulgadas con la particularidad de que es capaz de mostrar 3 colores, blanco, negro y rojo. Necesitaba también un marco. Elegí un porta-fotos de 10 x 15 cm con el marco negro que encontré en Amazon. Me encargué también un passepartout de 10 x 15 cm con una ventana del tamaño de mi display. ¿Qué es un passepartout? no es más que un cartón con una ventana biselada en medio para realzar el motivo central de una foto o cuadro. Lo pedí online en el «Taller del cuadro». También usé una tarjeta micro sd para almacenar temporalmente las imágenes mientras se van creado.

Como ya venía con un micro controlador, decidí no usar ninguna Raspberry Pi y programé todo el código en el entorno de programación Arduino.

Para hacer el software, partí de un ejemplo que muestra una serie de imágenes almacenadas en la micro SD. Tuve que hacer nueva la parte de generar la imagen en un bmp y el código de generación de la fractal. Por cierto, elegí el conjunto de Mandelbrot como fractal.

Ahora os voy a contar un truco que utilizé al programar el visor. La idea al principio era parametrizar la generación de las fractales y pasarle unos valores aleatorios para que siempre muestre imágenes distintas. El problema de este planteamiento es que no siempre genera imágenes bonitas. En muchas ocasiones dejaba la pantalla completamente en negro. Para solucionar esto lo que hice es que al arrancar se genera una imagen con el conjunto de Mandelbrot centrado y completo. Y me guardo en un fichero pares de valores x e y de los puntos en los que esa imagen cambia de color. Luego, genero un número aleatorio n y leo en la posición n del fichero la posición del centro de la imagen que voy a mostrar. Para aleatorizar más, calculo un segundo número aleatorio que me indica la cantidad de zoom que quiero realizar. Esto me asegura que muestro un fractal de una zona interesante y que siempre son imágenes distintas.

Porta-retratos con fractal de Mandelbrot