Tabla de contenido:
- Paso 1: Materiales
- Paso 2: construcción del anillo
- Paso 3: Hacer el circuito
- Paso 4: Poniéndolo todo junto
- Paso 5: Dibujar el globo
- Paso 6: el código
- Paso 7: prueba
- Paso 8: ¡Terminando
Video: (POV) Persistencia del globo de visión: 8 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
!¡Actualizar! ¡He agregado un programa de Excel que hace que sea mucho más fácil dibujar y codificar nuevas imágenes
Una simple persistencia de globo de visión. REPRODUCE EL VIDEO
Este es un proyecto que tenía en mente durante bastante tiempo y el concurso "Make It Glow" fue la motivación que necesitaba para inspirarme a sacar una vieja pantalla de 5 LED POV y llevarla al siguiente nivel, usando shift. registros. Si disfruta de este instructivo, considere votarlo.
Una introducción rápida al punto de vista o la persistencia de la visión: cualquier luz de voltaje de CA en realidad se enciende y apaga a una frecuencia de 60 Hz o 60 veces por segundo. Nuestros cerebros perciben esto como una luz constante. Es este concepto el que vamos a aprovechar para crear una imagen esférica utilizando una única fila de LED. Para este proyecto, decidí que 24 LED secuenciados usando tres registros de desplazamiento de 8 bits proporcionarían la resolución mínima necesaria para el mundo.
Paso 1: Materiales
Esto es lo que usé.
- (1) Arduino Uno (para prototipos)
- (1) Bareduino (para placa permanente opcional) VIRTUABOTIX LINK
- (3) Registros de cambio HC595N
- (24) LED azules
- (24) resistencias de 220 ohmios
- (1) tablero
- (1) soporte de batería y batería
- (1) anillo de 10 "de diámetro (lo suficientemente ancho para contener LED y cuanto más ligero, mejor)
- (1) pieza de varilla roscada (usé 5/16 ")
- (1) Motor (usé uno de un viejo Dirt Devil)
- (1) Acoplador de motor
- (1) Desconexión de 120 V (interruptor de luz)
- (1) Controlador de velocidad del ventilador
Paso 2: construcción del anillo
Usé una pieza de barra plana de aluminio de 1/8 "de grosor x 1/2" de ancho para mi anillo y 5/16 "de rosca para el mástil central, porque los tenía colocados, pero creo que esto se podría hacer en un Impresora 3D completa con soportes para PCB y mucho más liviana. Construí este anillo para una construcción anterior usando 5 LED, cada uno de los cuales apagaba un DO separado del Arduino.
No hay nada especial en el diámetro del anillo. El mío es de aprox. Redondo de 10 , solo porque la barra plana que tenía tenía 3 'de largo para empezar. Lo enrollé en una cizalla / freno / rollo 3 en 1 de Harbor Freight, pero también puedes formar el anillo alrededor de un disco cortado de madera contrachapada y tener buenos resultados. En ese caso, no veo ninguna razón para que el anillo no pueda estar hecho de madera. Solo prefiero trabajar con metal.
Perforé agujeros para los LED a aproximadamente 5/16 "en el centro. Este espacio llenó todos menos 1" en la parte superior e inferior en un lado del anillo. Deberá atornillar un soporte en el centro del anillo para proporcionar una superficie de montaje para las placas de prueba.
Paso 3: Hacer el circuito
Este fue mi primer intento de usar registros de desplazamiento, así que comencé a investigar en el sitio de Arduino y encontré un ejemplo extremadamente útil, que modifiqué para satisfacer mis necesidades. Puedes encontrar el tutorial en Arduino ShiftOut. Me decidí por "Code Sample 2.3 - Dual Defined Arrays" como mi código base, más sobre eso más adelante.
Si sigue el tutorial, aprenderá cómo enviar bits de información, uno por uno, en serie desde su Arduino a los registros de cambio. Esta disposición le permite controlar los 24 LED de este proyecto con solo 3 pines en el Arduino. Usaremos la capacidad de entrada en serie, salida en paralelo del 74HC595 para cargar 24 bits de información o 3 bytes en los registros de desplazamiento y luego desplazar los datos en paralelo a los LED.
Dado que el primer bit de datos que cargamos terminará en el último lugar del registro, adjuntaremos el LED1 o el LED más al sur al QO del primer registro de cambio. Siga el esquema del ejemplo ShiftOut y adjunte el tercer registro de desplazamiento al segundo, de la misma manera que el segundo se adjunta al primero.
Recomiendo ejecutar el código de muestra a lo largo del camino, primero con un solo registro y luego con dos. El código de muestra secuencia las luces de modo que sea fácil ver si algo está mal cableado. Pude simplemente agregar un Byte3 al "Ejemplo de código 2.3 - Matrices definidas duales" y una tercera matriz que llamé Blue. Puede ver esto en el código ShiftOutArrayByte3R1 cargado en este paso.
Paso 4: Poniéndolo todo junto
Ahora que estamos seguros de que el circuito funciona, necesitamos montar todo en el ring. Sugiero montar su Arduino / Bareduino en un lado y su Shift Register Board opuesto al Arduino. Esto ayudará a equilibrar el peso, pero lo más probable es que necesite mover algo hasta que obtenga una rotación estable. Usé la batería de 9 voltios en el lado al que necesitaba agregar peso. Usé bridas para sujetar las tablas y la batería al mástil central. De esta manera podría hacer ajustes para equilibrar el anillo.
Ahora para soldar todos los LED. Como estamos controlando el voltaje positivo de los LED, podemos conectar todos los cables del cátodo con un solo cable sin aislamiento y conectarlo a nuestra tierra. Luego, necesitamos soldar una resistencia al cable del ánodo de cada LED y luego conectar un cable desde la resistencia al pin de salida del registro de desplazamiento correspondiente. Dejé la función Blink All en el ciclo de configuración como una forma fácil de saber si tiene un LED apagado.
Paso 5: Dibujar el globo
!!¡¡Actualizar!! Ahora puede dibujar usando el programa Excel, que convierte la imagen en hexadecimal por usted. El código para sus matrices rojo, azul y verde se puede copiar y pegar en el boceto de Arduino. Simplemente complete un 1 donde desea que el LED esté ENCENDIDO y la celda cambiará a azul automáticamente. El programa Excel se carga en este paso. Gracias al instructable Rave Shades por publicar Rave Shades Animator, que fue modificado para este proyecto
Bueno. Ahora para ponernos artísticos. Elegí un globo terráqueo porque pensé que sería una forma genial de hacer una pantalla esférica de 360 grados usando POV, pero intentaré mostrar en este y en el siguiente paso cómo puedes crear cualquier imagen que puedas dibujar en una resolución de 24x70 puntos..
Primero encontré una imagen de mapa del mundo adecuada para usar como guía. Luego encontré una aplicación en Google Play llamada "Mosaic Builder" que era perfecta para mis necesidades. Como puede ver en la última imagen de este paso, pude crear una versión de baja resolución de la imagen del mapa mundial en mi plantilla 24x70. Para su información, el 24 proviene de los 3 bytes de datos y, por lo tanto, la altura de 24 LED y el 70 proviene de dividir la circunferencia de mi anillo por 5/16 "para hacer que el espaciado horizontal coincida estrechamente con el espaciado vertical de los LED. Los 70 puntos de ancho variará según el tamaño de su anillo, pero no es crítico. En especial, no es crítico ya que no estamos usando ningún tipo de sensor, como un LED infrarrojo para detectar una rotación completa y restablecer el bucle. Esto es algo que puedo considerarlo en el futuro, pero por ahora, mientras tengamos control de velocidad en el motor, el sensor es innecesario.
Una vez que tenga un dibujo con el que esté satisfecho, puede convertir la imagen en código hexadecimal por Byte, en el siguiente paso.
Paso 6: el código
!¡Actualizar! Simplemente dibuje su imagen usando 1s para representar ON, que automáticamente coloreará el píxel de azul. Cuando su imagen esté lista, presione el botón "Copiar todas las matrices" y pegue las matrices existentes en el boceto de Arduino. He subido un nuevo boceto a este paso
Como se mencionó anteriormente, utilicé el "Ejemplo de código 2.3 - Matrices definidas duales" del ejemplo de Arduino ShiftOut como mi base. Como notará en este código, el autor comenta que no está seguro de si Arduino puede manejar valores binarios directos, por lo que se usaron valores hexadecimales. Nota: Nunca cambié los comentarios binarios junto a los valores hexadecimales, solo cambié los valores hexadecimales para que se ajusten a la imagen de mi mapa mundial.
Ahora bien, esta era solo la segunda vez que veía a Hex y no tenía ni idea. Encontré la tabla de conversión hexadecimal-binaria adjunta, que ayudó enormemente. Este gráfico se puede utilizar para convertir el valor binario de cada columna o (Byte) a un valor hexadecimal. Por ejemplo, si observa la última imagen de este paso, puede ver cómo la imagen del mapa mundial se dividió en tercios de arriba a abajo y cada columna consta de 3 bytes, donde blanco o apagado = 0 y azul o encendido = 1. En la parte inferior de cada columna, el Byte se ha convertido a un valor hexadecimal que varía entre 00 y FF, que es el equivalente a un rango de valor decimal de 0-255 o un rango binario de 00000000 a 11111111.
El código adjunto tiene la imagen del Globo cargada, pero se puede modificar para obtener una imagen propia.
Paso 7: prueba
Antes de continuar con la construcción de una base y un soporte de motor, pensé en probar y ajustar el circuito. Simplemente coloqué el equipo en un taladro inalámbrico, encendí todo y apreté el gatillo. Tuve que ajustar el retraso a 1 ms y mi primer intento puso a Rusia al sur de Australia. También aprendí que la imagen se muestra al revés, de lo que esperaba, que fue una solución fácil para simplemente darle la vuelta a todo el anillo. El video adjunto es de mi prueba final exitosa. Ahora es el momento de una base con un motor permanente y un controlador de velocidad.
JUEGA PRUEBA DE LEAD GLOBE
Paso 8: ¡Terminando
Conecté el interruptor de luz como una desconexión para mi motor y luego conecté el controlador de velocidad del ventilador entre la desconexión y el motor. Esto me da una manera de apagar la energía rápidamente y tener un control razonablemente bueno de la velocidad del motor. Ahora necesitaba una forma de conectar el motor al globo. El eje del motor era de 17/64 "y todo el hilo que usé para el globo es de 5/16". Un acoplador de 5/16 "podría haber sido el truco, pero lamentablemente solo tenía acopladores de 3/8" que eran inútiles. En su lugar, encontré una pieza de material redondo de aluminio de 1/2 "y corté una pieza de 2" de largo y perforé un orificio de 17/64 "en el centro. Este tamaño de orificio era adecuado para roscar una rosca de 5 / 16-18 en la mitad del material redondo. También perforé y golpeé un pequeño orificio en el costado para enroscar un tornillo de fijación para el eje del motor, luego enrosqué el globo y usé una contratuerca para asegurar. El motor Dirt Devil gira lo suficientemente rápido como para volar el orificio ensamblado, así que necesitaba ajustar la velocidad lo más abajo posible. A esta velocidad, el motor no comenzará a girar, lo que dificulta un poco el funcionamiento del equipo. Lo que tengo que hacer es evitar que el globo gire y levantar lentamente el velocidad hasta que el motor se pone en marcha, luego puedo reducir la velocidad y soltar el globo. Finalmente, con un delicado ajuste fino, puedo obtener un gran efecto de giro lento.
REPRODUCE EL VIDEO
Recomendado:
Persistencia de la visión del personal del LED: 11 pasos (con imágenes)
Persistencia de la visión del personal del LED: es bien sabido que incluso después de que se apaga una luz, el ojo humano sigue " viendo " por una fracción de segundo. Esto se conoce como persistencia de la visión, o POV, y le permite a uno " pintar " imágenes moviendo rápidamente una tira de
Haga su propio globo LED POV: 5 pasos (con imágenes)
Haz tu propio globo LED POV: en este proyecto te mostraré cómo combiné un par de piezas de acero con un Arduino, una tira de LED APA102 y un sensor de efecto Hall para crear un globo LED RGB POV (persistencia de la visión). Con él puedes crear todo tipo de imágenes esféricas
Persistencia de la visión Fidget Spinner: 8 pasos (con imágenes)
Persistence of Vision Fidget Spinner: este es un fidget spinner que utiliza el efecto Persistence of Vision, que es una ilusión óptica mediante la cual múltiples imágenes discretas se combinan en una sola imagen en la mente humana. El texto o los gráficos se pueden cambiar a través del enlace de Bluetooth Low Energy usando a P
Persistencia de la visión de bricolaje: 6 pasos (con imágenes)
Persistencia de la visión de bricolaje: en este proyecto, le presentaré la perspectiva de la visión o la pantalla de punto de vista con algunos suministros, como sensores Arduino y Hall, para hacer una pantalla giratoria que muestre todo lo que desee, como texto, tiempo y otros caracteres especiales
Pantallas duales de 7 segmentos controladas por potenciómetro en CircuitPython - Demostración de la persistencia de la visión: 9 pasos (con imágenes)
Pantallas duales de 7 segmentos controladas por potenciómetro en CircuitPython - Demostración de la persistencia de la visión: este proyecto utiliza un potenciómetro para controlar la pantalla en un par de pantallas LED de 7 segmentos (F5161AH). A medida que se gira la perilla del potenciómetro, el número mostrado cambia en el rango de 0 a 99. Solo un LED se enciende en cualquier momento, muy brevemente, pero el