La Persistencia de la visión o POV por sus siglas en inglés, es un fenómeno de la percepción visual que explica que las imágenes captadas por el ojo humano pueden mantenerse en la retina durante algunas fracciones de segundo, por lo cual el cerebro es capaz de unir varias imágenes que se presenten en forma consecutiva y formar con ellas una sola.
El conocimiento de este fenómeno nos permite hacer muchas cosas, como por ejemplo realizar videos tomando muchas imágenes que se presentan en forma consecutiva una tras otra para formar así una película.
Las pantallas de nuestras computadoras y televisores funcionan también bajo esta mismo principio, sólo que a un grado más alto de complejidad, dado que presentan las imágenes punto por punto, por ejemplo la pantalla de mi PC tiene una resolución de 1024 por 768 puntos, es decir que cada imagen que veo en mi computadora está formada por 786432 puntos que no aparecen todos a la vez sino que son dibujados de uno en uno, aun cuando mi cerebro los capte todos como una única imagen.
Lo que presento en este artículo es un aparato que, gracias a la rotación de un motor y un grupo de siete LED’s es capaz de dibujar un reloj digital en el aire, escribiendo una imagen punto por punto a una velocidad lo suficientemente alta para que el cerebro la capte como una sola, les presento mi reloj POV.
La base de este proyecto es un circuito integrado programable o PIC 16F84A el cual puede ser encontrado en cualquier tienda de electrónica a un costo relativamente bajo. Además de esto se requieren siete diodos LED de 5mm del color que más nos guste, yo escogí el verde. Otra cosa que necesitaremos es un motor de entre 9 y 12v no muy grande, el que usé lo tomé de una video casetera antigua o VHS pero hay muchos aparatos que usan motores parecidos (impresoras por ejemplo).
El circuito es simple, consta de dos partes, una móvil y otra fija. Veamos primero la parte móvil:
Como puede verse en el diagrama, el PIC usa oscilador externo, los siete diodos LED van conectados al puerto B y en el puerto A se colocan tres pulsadores que servirán para programar la hora, además de esto en RA.4 se colocó un fototransistor que es usado como sensor de giro completo, cada vez que la parte móvil da una vuelta el fototransistor pasa frente a un LED colocado en el lado fijo del circuito por lo que el fototransistor conduce, RA.4 se va a cero lógico y el PIC comienza a dibujar la hora.
De no colocarse el fototransistor el PIC no sabría en qué momento debe comenzar a encender los LED’s, por lo que lo haría en un sitio distinto en cada vuelta dando un efecto de rotación a la imagen. Para este propósito primeramente probé usar un sensor IR del que usan los televisores junto a un LED infrarrojo, sin embargo noté que la imagen tendía a ser inestable y además se descontrolaba cada vez que usaba el control de mi TV para cambiar de canal. Finalmente tomé un fototransistor que también saqué de la antigua VHS y junto a un pequeño LED rojo funcionó a la perfección.
La parte fija del circuito va ubicada en una base que debemos tratar que sea un poco pesada para darle más estabilidad, yo encontré una pieza metálica redondeada con el espacio exacto para meter el motor y todos los componentes, pero cada quien sabrá cómo hacer una base que cumpla con los requisitos. El circuito de la parte fija es el siguiente:
Hay un motor que debe girar en sentido inverso a las manecillas del reloj, si el motor que encuentres gira a la derecha debes invertir los cables de modo de hacerlo girar en el sentido contrario. Coloqué un pulsador cuya función es detener el motor mientras se ajusta la hora, debido a que los pulsadores usados para ajustar la hora están en la parte móvil y mientras esta gira no pueden presionarse, si lo consideras más cómodo puedes usar un interruptor en lugar de un pulsador.
Hay también en esta etapa un potenciómetro P1 encargado de regular la velocidad del motor, mientras más rápido gire se verá mejor la imagen dibujada por los LED’s, sin embargo también mucha velocidad afecta la estabilidad del aparato, por eso también es conveniente además de usar una base pesada y sólida tratar de equilibrar lo mejor posible la parte móvil.
En cuanto a la forma de pasar la alimentación de +5V de la parte fija a la móvil yo primero conecté la parte externa del motor a tierra para poder usar el eje del motor como GND, y para el positivo utilicé una escobilla rozando con una placa metálica, la cual saqué de un potenciómetro grande que tomé de un equipo de audio viejo. Por supuesto cada quien sabrá ingeniárselas para hacer su propio mecanismo para trasmitir este voltaje, es posible pasarlo incluso inalámbricamente con inducción por medio de bobinas, pero esto lo haré en mi próximo circuito. Por ahora esto es todo, más abajo está el archivo en hexadecimal para programar el PIC. (pass: isaachernandez.com.ve)
*Actualización: Hice un cambio al diseño original de la parte fija, verán que ahora uso un pulsador NC o normalmente cerrado para apagar el motor mientras se ajusta la hora, quienes lo prefieran pueden colocar en lugar de este un interruptor.
Contraseña para los archivos: electronicayreparacion
Descargar archivos desde Mega
Descarga del ASM desde Mega
Descargar archivos desde Mediafire
Descarga del ASM desde Mediafire
62 comentarios en “Cómo construir un reloj de hélice (POV)”
Al importar el archivo Hex en pick it 3 me da una advertencia » No configuration words in hex file. In Mplab use file-export to save hex with config.» Necesito tu ayuda como programaste el pic.
Yo tengo una duda, el tiempo para encender los leds los calcula en base a cada 0 recibido por el sensor IR? Por decirlo de alguna manera ¿los tiempos son calculados dinamicamente? o son estáticos ¿se los pusiste haciendo cálculos Hechos por ti en base a las RPM del motor?
Hola no m puedes desir donde descargar el archivo para hacer este proyecto lo descargue por mega y no sirve y por el otro que es mediafare y tampoco sirve el archivo no me pueden ayudar x favor quisiera hacer este proyecto
Reciba un cordial saludo y felicitaciones por la inteligible explicación presentada. Molesto su atención para solicitar su orientación al confecconar el mismo proyecto empleando Arduino.Gracias por la acogida que otorga a mi propuesta.
Hola, disculpa, ¿Por qué sera que no me cambia la hora, ni los minutos de los lesds, el circito esta tal cual esta en el diagrama, pero cuando paro el motor con el pulsador normalmente cerrado y toco cualquiera de los 3 pulsadores no cambia nada en los leds
Hola Cristian, si no te funciona el circuito es porque no lo armaste correctamente.
Quisiera saber que tipo de fototransistor se puede usar para el circuito de la parte movil, y ¿se puedo probar el circuito aunque no este girando sin la parte móvil? Alimentando directamente los 5v
Yo usé uno de los conocidos como «Sensor optico de barrera», el cual usa un fototransistor y un diodo LED, los separé y coloqué uno en la parte fija y otro en la movil, en cuanto a lo otro, no veo forma de probar el circuito sin que esté girando a menos que escribas otro código fuente donde hagas que los LEDs enciendan con algún patrón específico pero con eso solo probarías el circuito físico y no el programa.
El fototransitor es el que activa a los leds para que iluminen, yo tengo un fototransistor tipo diodo podria usaar ese?
Solo hazlo como está en el diagrama y funcionará.
cual programa utilizaste parar abrir el diagrama es q tengo liveware pero no abre
hola isaac, tengo una pregunta, tengo el .hex para quemarlo en el pic, pero segun tu tutorial se debe quemar en el pic 16f84A… si yo tengo un pic 16f628A (el cual tiene la misma configuracion de pines que el 16F84A) me serviria el mismo .hex que nos diste la posibilidad de descargar o debo hacerle alguna modificacion al codigo.
gracias
Se debe modificar el código fuente.
con este reloj se puede tener uno analogico en vez de digital?
Puedes programar el PIC para que dibuje lo que quieras, incluso hay quienes han hecho pantallas a color y puedes proyectar videos en el aire, por supuesto usando más LEDs y del tipo RGB.
Espectacular proyecto.
Sin el ánimo de parecer descarado, seria posible que subieras el programa para el PIC sin compilar. Muchas gracias así podría entender mejor el funcionamiento.
El código ASM está disponible para los usuarios Premium.
Tengo una duda con el programa, es decir como lo puedo transducir a un pic16f887 ? saludos.
Oye disculpa al momento de compilar me dice error que pasa?
Hola Isaac me gustaría saber como puedo comprarte el código fuente de este proyecto
Hola, solo debes registrarte en la página y podrás ver los enlaces de descarga.
Que tal Issac, estoy construyendo ese proyecto y ya he leido numeradas veces tu articulo, solo que la parte en la que sigo detenido es en
COMO ENERGIZAR EL POSITIVO + A LA PLACA MOVIL, me estoy volviendo loco jaja, ya he buscado bastante en internet y no logro resolver eso.
Me podrias explicar un poco mas a detalle? se necesita un motor especial o como?
El voltaje lo pasas de la placa fija a la movil colocando del lado fijo unas escobillas metálicas que rocen con una placa circular de metal en la parte movil, eso para el positivo y el negativo lo pasas usando el eje del motor como tierra, debes ingeniártelas.
disculapa ya lo alle asido mi win rac que no me deja realizar nada saludos
muchas gracias issac me a servido de mucho,,, yo pensaba que era diferente…pero staba equivocado, grasia por tu ejemplo me quedo muy bien explicado,,,si tengo alguna duda,, espero que me puedas ayudar,,te doy las gracias y ya estoy entusiasmado por empesar este proyecto,,,
hola soy yo otra vez,, tengo una duda, en programacion yo programare en micro code,, el detaye es que no se como hacer que prenda,,, si se cual es la instrucion del pic para mandar salidas y que prenda… me refiero al momento que esta girando…..aver si me entiendes mejor quiero mostrar el numero 3 si es de 7 led, en una vuelta prendo siertos led y en otra vuelta otros leda y en otra vuelta otros ledasta que forme el 3…. me explique…..
La cosa es así, en cuanto el fototransistor pasa frente al LED de la parte fija, el PIC recibe la información de que ha comenzado una vuelta y allí debe comenzar a dibujar la hora, ¿cómo? pues dibujando cada número de línea en línea, por ejemplo, para dibujar el número 3 harías así:
00000
XXX0X
XX0XX
XXX0X
XXXX0
0XXX0
X000X
Lás «X» representan un LED apagado y «0» es un LED encendido, primero dibujas la línea:
0
x
x
x
x
0
x
Esperas algunos microsegundos, luego apagas todos los LEDs y dibujas la siguiente línea y así, antes de que termine de darse una vuelta ya deben haberse dibujado todos los números en el aire, luego se apagan todos los LEDs y esperan que llegue la información del fototransistor que avisa que comenzó otra vuelta. Es muy fácil, solo hay que jugar con los tiempos y la velocidad del motor, también hay que tomar en cuenta el radio o distancia desde el eje del motor hasta los LEDs, espero haberte aclarado algo.
exelente post muy bueno, una consulta, me podrias pasar el codigo q utilizaste para programas el PIC? y en q programa lo hiciste… muchas gracias!! te dejo mi mail. [email protected]
disculpa issac a que te refieres con las escobillas no entiendo eso,, lo demas si lo entendi pero eso de las escobilla me lo esplicarias y si me puedes esplicar sobre lo del fototransitor para la posicion de la ora te lo agradeseria…porfa,, y una pregunta mas el prorama lo puedo elavorar en un pic 16f877a…..ayuda
Hola, las escobillas son los contactos que se usan para pasar los cinco voltios de la parte fija a la que gira, el fototransistor va en la parte superior colocado de forma que cada vez que de una vuelta pase cerca del LED, se puede usar cualquier PIC para hacerlo pero debes modificar el código fuente.
issak compadre cordial saludo es para ver si me puedes hacer el favor y me mandas el codigo de pic y los diagrama de programacion graciaas
¿En que lenguaje esta el codigo assembler, basic o cual?
Está en ASM, también lo hice en Basic pero no daba la hora exacta, siempre se adelantaba o se atrasaba, habría que agregarle un RTC si lo quieres programar en BASIC.
buenas noches, desde ecuador, entre mas por curiosidad y he practicado solo con electronica basica desde los 14, aunque no ha sido mi especialidad, a lo mucho se armar circuitos, pero me ha gustado mucho este projecto ya que no hay muchas personas que expliquen con la claridad que explica, no comprendo mucho la simbologia, quisiera saber mas o menos una lista de materiales para poder construirlo
Hola Javier, debes fijarte en el diagrama, allí están los valores de cada componente.
Hola disculpa en total cuantas fuentes se usa segun tengo entendido usa 2 verdad?
Fíjate en el diagrama, el circuito usa una fuente DC de entre 9 y 12V.
hola diaculpa usa una Fuente simetrica???
Cualquier fuente que entregue de 9 a 12 voltios DC.
Una duda mas q pasa si al motor en vez de mandarle a tieera le mando a GND
Es lo mismo, GND es la abreviatura de «Ground» es decir «Tierra» en inglés, es decir el negativo de la fuente.
hola, disculpa una pregunta mas la alimentacion ahi en el esquema dice directo a las escobillas en la fija y la variable como es eso si el motor se alimenta con 9 o 12 voltios mmm xfavor
La alimentación no va directa a ninguna parte, debes revisar bien el diagrama, antes de ir a las escobillas pasa por un regulador de 5V y el voltaje del motor es regulado con los transistores Q1, Q2 y el potenciómetro RV1. Como ya dije, sólo debes armar el circuito tal como está en el diagrama y funcionará, si alguien quiere hacerle modificaciones ya es asunto suyo.
disculpa en la fija sale el motor conectado y esta a tierra no entiendo disculpe la molestia este proyecto es para mi tesis tengo 15 dias 🙁
Sí, el motor lleva uno de sus terminales a tierra porque es un motor de corriente contínua, sólo fíjate en el diagrama, si lo haces tal como está alli te funcionará.
disculpa el foto trasistor ba adebajo de la placa q pase x el led de el otro circuito fijo??? eso no entiendo donde le pongo el fijo muchas gracias 🙂
Así es, el fototransistor va en la parte móvil, tal como se muestra en el diagrama.
hola disculpa me puedes decir como monto el circuito osea donde le pongo la fija y donde la variable y como conecto el motor con las escobillas como dices tu
Si te refieres a dónde van la parte fija y la movil, logicamente la movil es la de arriba porque es la que se mueve y la fija es la que va debajo en la base que permanece estática.
Una duda a que referis con las escobillas es lo único que no entiendo en el circuito??
Hola, las escobillas son los contactos que pasan la alimentación de la parte fija a la movil.
hola issac grasias por la ayuda ya tengo los archivos descargados solamente quiero que me diga si tiene algun video desde 0 como montar el circuito del reloj espero su ayuda grasias 🙂
No hay video ni es necesario, sólo debes armar el circuito como se muestra en el diagrama.
Hola Isaac yo sacare su proyecto de helice para realizarlo en la universidad y vera me han pedido el codigo programable del pic 16f84a y con que programa programarlo. Quiero saber si en la descarga lleva todo eso para asi poder descargarlo espero sus respuestas saludos desde El Salvador
Hola Jairo, no te recomiendo usar el proyecto para la universidad si no estás diestro en el uso y programación de PICs, en la descarga están tanto el diagrama del circuito como archivo HEX para programar el PIC.
Ok estoy de acuerdo con la magnitud que es de
Trabajar con micro controladores pero en esa parte seremos supervisados por un catedrático profesional
una pregunta mas .. como colocar los leds?? hay alguna ilustracion??.. de antemano gracias
En el archivo que descargaste están los diagramas.
me interesa su proyecto pero que tipo de transistor utiliza o que tanto es la sensibilidad que debe tener?
en otras palabras cual es el modelo del fototransistor?
y el cristal puede ser de 5mhz en vez de 4mhz?
Hola Alexander, el cristal es de 4MHz tal como se muestra en el diagrama, el fototransistor puede ser cualquiera, yo al principio habia usado un sensor IR de los que usan los televisores pero la imagen a veces tendía a ser inestable, imagino que por alguna fuente de luz infraroja cercana, luego tome un sensor óptico de estos que traian los VHS para detectar la posición del mecanismo, dichos sensores traen un fototransistor de un lado y un LED del otro, simplemente los separé y coloqué el transistor en la parte móvil y el LED en la fija. Lo importante es que en cada vuelta el PIC reciba un «0» lógico en el pin 3, esto se puede lograr de varias formas, no tiene que ser exactamente como yo lo hice.
Me interesa mucho la electrónica, así que este artículo es impresionante por la dedicación y deducciones para construir algo. Muy buena explicación, compartiré con amigos profesionales en electrónica.
Felicitaciones.
Y.O.