POV: Escribe con luz en el aire

POV: Escribe con luz en el aire

20 Flares Twitter 5 Facebook 9 Google+ 6 Pin It Share 0 Email -- 20 Flares ×

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.

POV: Escribe con luz en el aire

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.

POV: Escribe con luz en el aire

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.

POV: Escribe con luz en el aire

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.

POV: Escribe con luz en el aire

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!


Avatar de Mario
Autor: Mario
  • xerxes

    ola mario solo kisiera saber con que progarma es ke realisas a programacion del pic16f84 nose soy principiante y me gustria intentarlo

  • SARU

    EN QUE LENGUAJE DE PROGRAMACIÓN ESTA?

  • Anónimo

    en que lenguaje de programación esta el banner

  • Anónimo

    alguien me podría hacer el favor de pasarme un tutorial para programar un banner pov led en c

  • Anónimo

    alguien me podría hacer el favor de pasarme un tutorial para programar un banner pov led en c

  • Anónimo

    alguien me podría hacer el favor de pasarme un tutorial para programar un banner pov led en c

  • Anónimo

    alguien me podría hacer el favor de pasarme un tutorial para programar un banner pov led en c

  • Alejandro

    una duda entiendo a todo lo que explicas y el funcionamiento basico pero es que no se como poner las letras un ejemplo de como pondrias HOLA espero puedas gracias

  • Abel

    Lo realice el circuito pero programar con que use mikrobmasic mplab y nada muchos errores me puedes mandar el nombre programa para editar y compilarlo y convertirlo hex,

    Gracias me gusto

  • Daniel

    Hola Mario muy bueno en realidad quisiera preguntarte.
    ¿Como descargo el diagrama si esta en formato HTML, no en JPG y los materiales, abrazos saludos

  • Relzon

    Hola Mario, es posible el desarrollo de este proyecto con un pic 18F2550 o un 18F4550 ?, es que es lo unico con lo que cuento y en mi pais la comercialziación de PIC es casi nula.

    Saludos.

  • mauro

    Una pregunta para programar el pic, que programa utilizo?

  • Alexis

    Hola!! me parece increíble el proyecto, ya he construido el mio, pero tengo problemas con la programación.. me preguntaba su alguien podría ayudarme en esto :c, para mostrar un reloj análogo nada más, por favor por favor si hay alguien que sepa por favor que me preste de su ayuda :c, se lo agradecería mucho.
    gracias..

  • Anónimo

    Hola soy nuevo en esto y tengo una duda. Son necesarios los bc548? he visto otros cktos pov y no llevan transistor, no lo entiendo bien ¿?

  • nicolás

    hola mario!
    Mirá quizá suene un poco cursi la pregunta pero en mi caso quiero armar algo parecido a esto con la diferencia de que la proyección sería de un reloj propeller analogico. Me vi interesado en esto ya que tengo ahora en un par de semanas una expotecnia y hasta ahora no tubi una buena ayuda con respecto lo que es el circuito o como se utilizan los puertos, que en mi caso utilizo un 16f628a. Las primeras ideas que tengo y que mas o menos me orientaron pero muy poco es: que lleva un sensor contador de vueltas, es decir un foto transistor y un LED que cada vez que pasa la placa x alli envia un pulso y el otro es un RTC o algo asi que es un 1307 que este lo que hace es generar pulsos exactos a frecuencia de 1hz como si fuera un cristal de cuarzo. Bueno mis primeras preguntas son: ¿como hago para que cuando la placa gire que el o los leds prendan en determinado angulo de rotación? y la otra es como es que afecta el 1307 para que puedan prender y/o apagar los leds de manera adecuada para que genere un efecto de rotación de las agujas…
    Bien lo que mas me importa es lo del angulo x ahora osea para que quede en exactitud "por ejemplo" 90º y que justo ahi prenda bueno eso es lo que mas me importa por ahora! Espero ansioso tu respuesta y desde ya muchas gracias!

  • Esleik

    men, por curiosidad podría tu el autor o alguien que aya hecho el circuito pero mejor seria una foto que muestre la parte trasera del circuito por fa :D tengo unas cuantas dudas con el diagrama gracias ;)

  • hugo

    ey men me gustaria saber si podrias decirme un poco sobre la programacion ya que soy noob en esto y lo saco en mplab y me manda varios tipos de errores me gustaria saber en q lenguaje lo usas o como le hisistes y estubo bueno el aporte

  • Percy pinto

    En que programa has programado eso??, soy nuevo en esto y me gustaria aprender

  • luis nungaray

    hola que tal…alguien me podria ayudar con el codigo para formar la frase " te amo ", gracias de antemano

  • HUMBERTO

    buen proyecto de electronica. yo soy de 2do año estudio en venezuela voy a utilizar esto como proyecto de electronica pero nesesito que me diga como se alinean los leds por que el diagrama me dice que solo un r9 1k es la que se conecta a todos los leds asi es o no nose mucho de electronica suy practicamente no se nada me ayuda en esa.gracias

  • mike

    hola a todos… me gustaria hacer este proyecto pero soy principiante aunque me defiendo un poco en electronica me gustaria q alguien me colaborara sobre como hacerlo

  • http://www.neoteo.com/miembro/ManuEBM/ Manuel

    Hola como estás Mario! Te felicito muy lindo proyecto. Te cuento que lo estoy haciendo para la materia electrónica en la escuela; pero le agregue un motor DC 12v y la mecánica me quedo perfecto, la plaqueta también. El único problema que tengo es a la hora de hacer el código ya que no tengo idea de programación, estuve leyendo mucho y no hay caso. Te agradecería mucho si me podrías enviar el código .hex para ya grabar el PIC y probar mi proyecto! Muchas gracias, espero una respuesta.. saludos!!

    Manuel