El POV (Persistence Of Vision) es un fenómeno visual descubierto por el científico belga Joseph Plateau que demuestra cómo una imagen permanece en la retina humana una décima de segundo antes de desaparecer completamente. Esto permite que veamos la realidad como una secuencia de imágenes que el cerebro "enlaza" como una sola imagen visual móvil y continua. El cine aprovecha este efecto y provoca ese "enlace" proyectando más de diez imágenes por segundo (generalmente 24), lo que genera en nuestro cerebro la ilusión de movimiento.
La persistencia retiniana es una característica de nuestro ojo que provoca que las imágenes que se observan no se borren instantáneamente. Es una característica que hace que las imágenes que vemos queden guardadas por un instante en el cerebro. Por ejemplo, al hacer girar un fósforo podemos lograr que éste parezca formar un círculo de fuego en el aire, al igual que si lo hacemos con un LED encendido.
Si a dicho LED o a un conjunto de ellos los activamos de manera apropiada en tiempo y forma, obtendremos, gracias a la persistencia de nuestra visión, imágenes que parecen estar flotando en el aire. En el mundo de los juguetes y/o gadgets es muy común encontrar relojes, despertadores, indicadores de saludos navideños, mensajes de amor y cuantas cosas se nos puedan imaginar que sean mensajes transmisibles mediante la palabra o las imágenes. Esta clase de productos basan su principio en los scroll-texts o pasa-mensajes que podemos ver en los autobuses, en las entradas del metro, en los comercios y en cada vez más lugares. En el caso de los carteles, una línea (o columna) se enciende a la vez y su traslación rápida y continua, con el encendido apropiado, van formando el mensaje que vemos y leemos.
En el caso del circuito presentado hoy tenemos una sola línea de LEDs que, al moverse en el espacio, formarán las más diversas imágenes o frases que se nos ocurran y que nuestra imaginación pueda aplicar. En vez de ser muchas líneas contiguas, imprimiremos movimiento de traslación a una sola y la persistencia de la imagen en nuestra visión hará el resto.
El Circuito
Podemos practicar con un PIC 16F84A y realizar con él nuestros primeros desarrollos que iremos perfeccionando y ampliando según nuestras necesidades y gustos. Con un cristal de 4Mhz y un transistor BC548 conectado a cada salida del puerto B, podemos armar un circuito muy sencillo, alimentado a baterías, al que haremos rotar colgado de nuestro dedo índice, como si fuese un llavero.
Hemos aplicado en T1 dos diodos amarillos para que sirvan de borde llamativo de color, y el texto aplicado ha sido muy sencillo: consiste en un saludo a todos los amigos de NeoTeo. Sin embargo, si utilizamos los pines libres del microcontrolador, podemos colocar memorias EEPROM vía I2C capaces de almacenar mensajes que se vayan alternando en el tiempo, o también podemos colocar un RTC, como el DS1307, para que entre los mensajes aparezca la hora, por mencionar algunos ejemplos.
Aplicando una velocidad apropiada de rotación según la velocidad del encendido de los LED podemos obtener una visión muy interesante de un mensaje escrito en el aire. A modo de consejo, te recomendamos una construcción robusta y bien fuerte ya que si comienzas a experimentar (como lo hizo el autor de esta nota) con un montaje rotativo sobre el dedo, debemos decirte que el proyecto siempre tiende a salir eyectado golpeando sobre paredes cercanas y aterrizando de manera poco elegante. Cuida mucho este detalle si vas a hacer demostraciones en público de tu “giro-dedo” o como decidas bautizarlo.
La construcción que hemos aplicado al desarrollo está basada en una placa experimental para poder jugar con distintas variables de programación y disposiciones mecánicas, como pueden ser las distancias entre LEDs para obtener caracteres más grandes o más pequeños y también para que posean una versatilidad suficiente como para instalarlos en un álabe de algún ventilador o para acoplarlo fácilmente a cualquier sistema mecánico de elevada velocidad de rotación.
La variedad de usos, aplicaciones, textos o imágenes que se pueden mostrar a partir de este sencillo principio son increíbles y están sólo limitadas por nuestra imaginación. Observa estos videos y luego nos cuentas:
Programando el PIC
Nuestro programa será muy elemental y sencillo. Su extensión dependerá de la cantidad de texto que tengamos en mente colocar y mostrar. Una de las opciones posibles es mostrar un solo texto de manera permanente, y la otra es intercambiarlo entre otros con intervalos regulares de tiempo. También puedes dedicarle más tiempo a la presentación de uno por sobre otros y, por sobre todas las cosas, cuando te expandas en la cantidad de texto a mostrar deberás cuidar que el mismo quepa dentro del microcontrolador que utilices. Si el PIC 16F84A del ejemplo te queda chico, puedes pasarte a un 16F628, que es compatible pin a pin y posee el doble de memoria, lo que te permitirá duplicar por supuesto la cantidad de texto mostrado.
Como siempre, encabezaremos el programa con el dispositivo a utilizar y el valor de cristal necesario, que en nuestro caso 4 Mhz es suficiente. Luego, le asignamos un alias al puerto B y listo! Comenzamos a enviar bytes (las ocho salidas del puerto) a intervalos regulares de tiempo.
Dos milisegundos será un tiempo suficiente para que se encienda la salida que queremos mostrar. Si colocamos el sistema sobre algún sistema de rotación muy veloz, es probable que debamos ajustar este valor para que no se produzca un efecto de movimiento del texto hacia delante o hacia atrás. Observen que el primer bit no está en estado alto, lo que significa que esta porción de programa pertenece a la imagen que no tiene el borde amarillo encendido. Otro detalle importante es dejar un espacio de dos a tres “líneas” entre letra y letra para que estas no se encimen entre sí dificultando la lectura.
Al final del texto deseado bastará con colocar la instrucción GOTO INICIO o un intervalo de tiempo con las salidas apagadas para dejar un tiempo vacío y que el reinicio del texto vuelva a producirse siempre en el mismo lugar de la circunferencia. Si observamos el gráfico vemos que armar las letras es algo muy sencillo y que, en una tarde de ocio, podemos armar en familia un divertido entretenimiento, a la vez que aprendemos un poquito más acerca de la persistencia retiniana y del funcionamiento de los microcontroladores.
Los programas y Hardware más elaborados utilizan sensores para conocer la posición espacial del sistema (en el primer video se nota claramente) y así saber el ángulo de inicio del texto para que éste comience a desplegarse siempre desde el mismo lugar, sin importar la velocidad de giro del brazo que soporta los LEDs. Otra mejora aplicable es la utilización de LEDs RGB (tres colores) que sean controlados por distintos canales de PWM para obtener una imagen multicolor, como en el segundo video. Allí ya no bastará un estado alto o bajo a la salida sino que habrá que controlar los porcentajes de encendido de cada color para obtener el punto exacto del matiz deseado. Pero como dijimos, son aplicaciones más elaboradas y escapan al propósito de este artículo y de este gadget en particular.
Experimenta distintas extensiones de texto, distintos intervalos entre filas para lograr palabras extendidas o comprimidas, variadas alturas de letras, en fin, las cartas están sobre la mesa, ¡ahora a divertirse!