Haz un POV LED Air Writer por menos de $ 5

Haz un POV LED Air Writer por menos de $ 5 / Bricolaje

Puede hacer todo tipo de cosas con los LED parpadeantes, y en este proyecto simple, haremos un pequeño dispositivo que ilumina los mensajes en el aire cuando lo mueve de un lado a otro. Es más fácil de lo que piensa, y el costo total de las piezas es inferior a $ 5.

Este proyecto utiliza una ilusión óptica llamada persistencia de la visión para hacer que el texto aparezca en el aire. Probablemente te hayas encontrado con este fenómeno cuando alguien mueve una bengala encendida rápidamente por la noche. Usaremos un Arduino y algunos LED para imitar este efecto. Este proyecto es fácil de construir, con pocos componentes y poca soldadura (aunque si desea obtener algunos consejos para comenzar con su soldador, consulte esta guía Aprenda cómo soldar, con estos sencillos consejos y proyectos Aprenda cómo soldar, con estos simples Sugerencias y proyectos ¿Está un poco intimidado por la idea de un hierro fundido y un metal fundido? Si desea comenzar a trabajar con electrónica, tendrá que aprender a soldar. Déjenos ayudarlo. Lea más).

Necesitará

  • Arduino (usé un Nano de $ 2 porque es compacto y barato, pero cualquier modelo debería estar bien).
  • 5x LEDs rojos.
  • 5x 220 ohmios de resistencia.
  • Soporte de la batería 1x 9v.
  • Interruptor basculante 1x.
  • 1x pieza de protoboard.
  • Una carcasa para el producto terminado (utilicé una pequeña caja de cartón pintada de negro).

También necesitarás un soldador y un poco de soldadura para unirlo todo..

Si bien es opcional, algunas mechas de soldadura pueden ser muy útiles en caso de cometer errores de soldadura. Una placa de pruebas y algunos cables de conexión también son útiles para probar su circuito.

Alambrado

El cableado no podría ser más sencillo. Primero, conecte su Arduino, LED y resistencias como se muestra en este diagrama.

Los pines D2 a D6 van a cada resistencia, respectivamente, que están unidos al ánodo positivo (pata larga) de cada LED. El cátodo está conectado a tierra, que se conecta de nuevo al Arduino. Cuando esté hecho debería verse algo como esto:

Eso es todo: ¡nuestro circuito está hecho! Le agregaremos una caja de batería y un interruptor más adelante, pero esto es todo lo que necesitamos para comprobar si funciona..

Código

Ahora conecta tu Arduino a la computadora y abre el IDE de Arduino. Si no está familiarizado con Arduino y desea una buena guía para comenzar, este enlace Cómo comenzar con Arduino: una guía para principiantes Cómo comenzar con Arduino: una guía para principiantes Arduino es una plataforma de creación de prototipos de electrónica de código abierto basada en la flexibilidad para utilizar hardware y software. Está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos. Leer más será útil.

Abra un nuevo boceto y copie este código. Se modificó el código de este proyecto y puede descargarlo en su totalidad en esta Gist.

 // cuánto tiempo permanece encendido cada led para int delayTime = 1; // cuánto tiempo entre cada int charBreak = 3; // cuánto tiempo se debe esperar después de que finalice el mensaje antes de que se repita int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; configuración de vacío () pinMode (LED1, SALIDA); pinMode (LED2, SALIDA); pinMode (LED3, SALIDA); pinMode (LED4, SALIDA); pinMode (LED5, SALIDA);  int a [] = 1, 6, 26, 6, 1; int b [] = 31, 21, 21, 10, 0; int c2 [] = 14, 17, 17, 10, 0; int d [] = 31, 17, 17, 14, 0; int e [] = 31, 21, 21, 17, 0; int f [] = 31, 20, 20, 16, 0; int g [] = 14, 17, 19, 10, 0; int h [] = 31, 4, 4, 4, 31; int i [] = 0, 17, 31, 17, 0; int j [] = 0, 17, 30, 16, 0; int k [] = 31, 4, 10, 17, 0; int l [] = 31, 1, 1, 1, 0; int m [] = 31, 12, 3, 12, 31; int n [] = 31, 12, 3, 31, 0; int o [] = 14, 17, 17, 14, 0; int p [] = 31, 20, 20, 8, 0; int q [] = 14, 17, 19, 14, 2; int r [] = 31, 20, 22, 9, 0; int s [] = 8, 21, 21, 2, 0; int t [] = 16, 16, 31, 16, 16; int u [] = 30, 1, 1, 30, 0; int v [] = 24, 6, 1, 6, 24; int w [] = 28, 3, 12, 3, 28; int x [] = 17, 10, 4, 10, 17; int y [] = 17, 10, 4, 8, 16; int z [] = 19, 21, 21, 25, 0; int eos [] = 0, 1, 0, 0, 0; int excl [] = 0, 29, 0, 0, 0; int ques [] = 8, 19, 20, 8, 0; espacio int [] = 0, 0, 0, 0, 0; void displayLine (int line) int myline; myline = línea; if (myline> = 16) digitalWrite (LED1, HIGH); myline- = 16; else digitalWrite (LED1, LOW); if (myline> = 8) digitalWrite (LED2, HIGH); myline- = 8; else digitalWrite (LED2, LOW); if (myline> = 4) digitalWrite (LED3, HIGH); myline- = 4; else digitalWrite (LED3, LOW); if (myline> = 2) digitalWrite (LED4, HIGH); myline- = 2; else digitalWrite (LED4, LOW); if (myline> = 1) digitalWrite (LED5, HIGH); myline- = 1; else digitalWrite (LED5, LOW); void displayChar (char c) if (c == 'a') for (int i = 0; i <5; i++)displayLine(a[i]);delay(delayTime);displayLine(0); if (c == 'b')for (int i = 0; i <5; i++)displayLine(b[i]);delay(delayTime);displayLine(0); if (c == 'c2')for (int i = 0; i <5; i++)displayLine(c2[i]);delay(delayTime);displayLine(0); if (c == 'd')for (int i = 0; i <5; i++)displayLine(d[i]);delay(delayTime);displayLine(0); if (c == 'e')for (int i = 0; i <5; i++)displayLine(e[i]);delay(delayTime);displayLine(0); if (c == 'f')for (int i = 0; i <5; i++)displayLine(f[i]);delay(delayTime);displayLine(0); if (c == 'g')for (int i = 0; i <5; i++)displayLine(g[i]);delay(delayTime);displayLine(0); if (c == 'h')for (int i = 0; i <5; i++)displayLine(h[i]);delay(delayTime);displayLine(0); if (c == 'i')for (int it = 0; it <5; it++)displayLine(i[it]);delay(delayTime);displayLine(0); if (c == 'j')for (int i = 0; i <5; i++)displayLine(j[i]);delay(delayTime);displayLine(0); if (c == 'k')for (int i = 0; i <5; i++)displayLine(k[i]);delay(delayTime);displayLine(0); if (c == 'l')for (int i = 0; i <5; i++)displayLine(l[i]);delay(delayTime);displayLine(0); if (c == 'm')for (int i = 0; i <5; i++)displayLine(m[i]);delay(delayTime);displayLine(0); if (c == 'n')for (int i = 0; i <5; i++)displayLine(n[i]);delay(delayTime);displayLine(0); if (c == 'o')for (int i = 0; i <5; i++)displayLine(o[i]);delay(delayTime);displayLine(0); if (c == 'p')for (int i = 0; i <5; i++)displayLine(p[i]);delay(delayTime);displayLine(0); if (c == 'q')for (int i = 0; i <5; i++)displayLine(q[i]);delay(delayTime);displayLine(0); if (c == 'r')for (int i = 0; i <5; i++)displayLine(r[i]);delay(delayTime);displayLine(0); if (c == 's')for (int i = 0; i <5; i++)displayLine(s[i]);delay(delayTime);displayLine(0); if (c == 't')for (int i = 0; i <5; i++)displayLine(t[i]);delay(delayTime);displayLine(0); if (c == 'u')for (int i = 0; i <5; i++)displayLine(u[i]);delay(delayTime);displayLine(0); if (c == 'v')for (int i = 0; i <5; i++)displayLine(v[i]);delay(delayTime);displayLine(0); if (c == 'w')for (int i = 0; i <5; i++)displayLine(w[i]);delay(delayTime);displayLine(0); if (c == 'x')for (int i = 0; i <5; i++)displayLine(x[i]);delay(delayTime);displayLine(0); if (c == 'y')for (int i = 0; i <5; i++)displayLine(y[i]);delay(delayTime);displayLine(0); if (c == 'z')for (int i = 0; i <5; i++)displayLine(z[i]);delay(delayTime);displayLine(0); if (c == '!')for (int i = 0; i <5; i++)displayLine(excl[i]);delay(delayTime);displayLine(0); if (c == '?')for (int i = 0; i <5; i++)displayLine(ques[i]);delay(delayTime);displayLine(0); if (c == '.')for (int i = 0; i <5; i++)displayLine(eos[i]);delay(delayTime);displayLine(0); if (c ==")for (int i = 0; i <5; i++)displayLine(space[i]);delay(delayTime);displayLine(0); delay(charBreak);  void displayString(char* s) for (int i = 0; i<=strlen(s); i++) displayChar(s[i]);   void loop() //Change the text inside here to change the text displayed. //Make sure to keep the brackets and the quotation marks. displayString("… hello!… "); delay(40);  

Guarda el boceto y súbelo a tu tablero. Si recibe algún error, asegúrese de tener la placa y el puerto de comunicaciones correctos seleccionados. Sus LEDs deberían comenzar a parpadear. Si no lo hacen, revisa todas tus conexiones en tu tablero. Los enteros declarados al comienzo del código determinan qué tan rápido se muestra el texto. Cuanto más alto sea el número, más rápido necesitará agitar el dispositivo. Encontré que los números usados ​​aquí funcionaron bien..

Ahora para hacer una prueba rápida. Desconecta tu Arduino del cable USB y conecta el soporte de la batería a los pines VIN y GND de tu arduino.

Ahora que puede moverlo, intente balancear con cuidado los LED que se encuentran frente a usted. Deberías ver algunas letras formándose en el aire siempre que sea lo suficientemente oscuro a tu alrededor. Encontré que ayudó a configurar mi teléfono para capturar esto.

¡Funciona! Ahora para hacerlo un poco más permanente..

Planchas en la lista!

Coloque su placa Arduino, resistencias y LED en su protoboard de la siguiente manera:

Por supuesto, puede hacer que el diseño sea tan compacto como desee, siempre que el circuito siga siendo el mismo. Asegúrese de dejar al menos una línea de contactos protoboard a cada lado de su Arduino para los componentes y la fuente de alimentación. Si eres un principiante en electrónica, aquí hay algunos consejos excelentes para ti Electrónica para principiantes: 10 habilidades que debes saber Electrónica para principiantes: 10 habilidades que debes saber Muchos de nosotros nunca hemos tocado un soldador, pero hacer las cosas puede ser increíblemente gratificante . Aquí hay diez de las habilidades electrónicas de bricolaje más básicas para ayudarte a comenzar. Lee mas .

Soldaremos los cátodos LED juntos en una línea para hacer un terreno común, como lo hicimos cuando hicimos nuestra matriz LED. Mejore su corona de Navidad con una matriz LED activada por movimiento. Actualice su corona de Navidad con una matriz LED activada por movimiento. wreath utiliza una matriz Arduino y LED para producir una increíble pantalla iluminada que impresionará a sus amigos y familiares. Lee mas .

Dobla cada cátodo para que se superponga al siguiente, y suelda para crear una línea ininterrumpida. Ahora necesitamos soldar nuestros ánodos a las patas de las resistencias que están a su lado. Descubrí que la forma más fácil de hacer esto era soldar cada pierna a su respectiva almohadilla, y luego colocar la plancha entre ellas para calentar ambas uniones, antes de finalmente agregar más soldadura para cerrar la brecha entre ellas..

Verifique cada conexión para ver si está firmemente conectada, y luego use cortadores de alambre para cortar el exceso de patas de las resistencias y LEDs.

Ahora para repetir esa misma tarea, pero esta vez conectando el otro extremo de nuestras resistencias a las piernas del Arduino. Esta es la parte más complicada de la soldadura. Cada resistencia se adhiere mucho a su pin Arduino solo o el circuito no funcionará de la forma prevista. Cometí varios errores aquí y tuve que usar la mecha de soldadura para eliminar la soldadura no deseada varias veces.

Una vez que haya realizado todas las conexiones correctas, verifique que ninguno de ellos se superponga con sus vecinos. Si tiene acceso a un multímetro aquí, puede usar el modo de continuidad para comprobar que cada pin solo tenga una línea continua en su resistencia. Si acaba de tener un multímetro, hay una gran guía de inicio en este artículo. 7 habilidades técnicas de bricolaje para enseñar a sus hijos, porque las escuelas no serán 7 habilidades técnicas de bricolaje para enseñar a sus hijos, porque las escuelas no leerán más

Una vez que haya comprobado cada conexión, corte el exceso de longitud de las patas de las resistencias

Añadiendo poder

Ahora pase un trozo de cable desde el pin de GND de su Arduino hasta un orificio al lado de donde termina su línea de cátodos soldados, y coloque el cable negro del soporte de la batería al lado..

Ahora suelde el cable al pin de GND, del mismo modo que hicimos con las resistencias, y soldar ambos cables al final de la línea de cátodos para crear una tierra común para el circuito.

Finalmente, conecte un cable al pin VIN de su arduino y coloque su interruptor entre ese cable y la batería. Disculpas por el interruptor cubierto de pegamento caliente en esta foto, tuve que desmontar la máquina terminada para fotografiar esta etapa!

Una vez que esté todo soldado, ponga una batería y pulse el interruptor. ¡Felicidades! El circuito está hecho. Si no ve nada encendido, revise cuidadosamente cada unión de soldadura para ver dónde puede haber una rotura o un cortocircuito.

Recinto

Ahora que lo tenemos funcionando, vamos a ponerlo en una caja. Aquí se usaba una caja de cartón pintada, aunque se podía hacer algo más permanente utilizando una caja comprada en una tienda de pasatiempos, o incluso una caja de tupperware antigua. Para obtener más credito geek, incluso puede imprimir en 3D en una de estas impresoras 3D baratas. 5 impresoras 3D baratas que realmente puede comprar hoy 5 impresoras 3D baratas que realmente puede comprar hoy Hace unos años, incluso las impresoras 3D más baratas estaban incómodamente cerca de los $ 1,000; ahora puede obtener una impresora 3D de calidad por tan solo $ 400. Lee mas

Reduzca el tamaño de su protoboard al anotarlo y retire con cuidado las piezas que no necesita.

Coloque su circuito dentro de su caja, y marque donde los LEDs y el interruptor necesitan penetrar. Opcionalmente, también puede marcar donde el conector USB de la placa Arduino se encuentra con el borde para que pueda enchufarlo para cambiar el texto sin abrir el cuadro. Perfore o corte los agujeros que necesita en el gabinete.

Ahora agregue un poco de pegamento caliente a los bordes de los LED y péguelos en su lugar. Pegué un pedazo de esponja debajo del circuito para que se sentara cómodamente en la caja. Adjuntar su interruptor a la caja. Usé pegamento caliente, aunque los tornillos o pernos harían una conexión mucho más fuerte. También puede pegar el soporte de la batería en la parte posterior de la placa del circuito para evitar que se mueva hacia adentro cuando el elemento esté en uso, pero asegúrese de que los contactos metálicos de la caja no toquen ninguna de sus juntas de soldadura.!

Trabajo hecho!

Cierra tu recinto, ¡y listo! Para cambiar el texto, conecte su cable USB a la placa Arduino y cambie el texto dentro de los soportes después de displayString en el lazo método. Encuentra un lugar oscuro y diviértete.!

¿Has fabricado una máquina POV antes y conoces formas de mejorar el diseño? ¿Estás planeando construir uno tú mismo? Cuéntanos sobre tu proyecto en los comentarios a continuación, nos encantaría escucharlo!

Explorar más sobre: ​​Arduino, Electrónica..