Tabla de contenido:

42 RGB LED Pixel Art Painting: 5 pasos
42 RGB LED Pixel Art Painting: 5 pasos

Video: 42 RGB LED Pixel Art Painting: 5 pasos

Video: 42 RGB LED Pixel Art Painting: 5 pasos
Video: What if there was a faster way to animate your pixel art? 2024, Mes de julio
Anonim
42 RGB LED Pixel Art Pintura
42 RGB LED Pixel Art Pintura

Oye, Entonces, para una tarea escolar llamada "Si esto, entonces eso", tuve que hacer un // algo // interactivo usando un kit de inicio Arduino Uno (y cualquier otra cosa que uno estuviera dispuesto a comprar). Al ver que estoy haciendo un estudio de Arte / Tecnología, quería hacer una combinación de ambos (arte y tecnología). Pensé que haría una pintura que consistiera en tantos LED RGB como pudiera caber en mi Arduino y dejaría que el jugador / artista pasara manualmente por esos LED RGB y eligiera un color. ¡De esta manera pueden crear su propio "pixel art"!

Paso 1: Información básica y teoría

De acuerdo, no nos vayamos por las ramas. Si quieres que este proyecto cobre vida: es difícil. Me tomó muchas horas averiguar / aprender qué hacer, e incluso más para lograrlo, pero si realmente quieres una caja llena de alambre que pueda crear "pinturas" muy pequeñas, te enseñaré cómo.

Entonces, lo primero es lo primero. Queremos tantos LED / LED RGB en nuestro Arduino como sea posible. Cuantos más LED (RGB) conecte, más detallada será su "pintura" (10x10 píxeles le dan más margen de maniobra que 2x2 a la derecha). Supongo que hay más formas de obtener muchos LED (RGB) en sus 13 pines digitales (cosas como un registro de desplazamiento), pero utilicé un método llamado "Charlieplexing". Lo vincularé a un instructivo que me ayudó a comprender este concepto (en serio, lo explican muy bien), pero también te daré la versión rápida aquí. Charlieplexing dice lo siguiente:

Pones un LED entre el pin 1 y el pin 2, si configuras el pin 1 en HIGH y 2 en LOW, el círculo se ejecutará sin problemas y el LED se encenderá. Lo esencial. Bueno, ahora adjunta otro LED, pero lo invirtió. El extremo largo está en el 2 y el corto en el pin1. Ahora, si gira el pin 2 a HIGH y el pin 1 a LOW, su segundo LED se encenderá y el primero permanecerá apagado porque el flujo será incorrecto. Ahora puede conectar 2 LED en 2 pines. Si obtenemos el tercer pin en la mezcla, puede hacer este truco entre 1 y 2, 1 y 3, y 2 y 3. Son 6 LED. Esto continúa, 5 pines nos otorgarán (2 + 4 + 6 + 8) 20 LED. El uso de los 13 pines digitales nos da 156 opciones. Eso es 156 LEDS que puede encender y apagar individualmente.

(Está bien, para aquellos de ustedes que se lo pregunten. Sí, cuando tiene mucho, es imposible tener algo encendido al mismo tiempo, pero no se preocupe, el arduino puede cambiar entre sus LED tan rápido que el ojo humano no puede ver el parpadeo)

(Explicación mejor y más detallada, con imágenes)

De acuerdo, con mucho esfuerzo en lo que respecta al cableado (lo abordaré más adelante), podemos hacer una gran cuadrícula de LED, pero seamos sinceros. Los LED son terriblemente aburridos. ¿Cómo se puede hacer una imagen con solo 2 colores? Supongo que podrías, pero es mucho mejor si tienes más colores para elegir, ¿verdad? Derecha. ¡Así que a los LED RGB nos dirigimos!

Los LED RGB son básicamente 3 LED en 1. Comparten un cátodo o ánodo común (donde la energía entra o sale) y las otras 3 "patas" son su LED rojo, verde y azul. Teniendo esto en cuenta, ¡sí, podemos charlieplex ellos también! Cada LED RGB cuenta con 3 LED normales. De esa manera, aún puede encenderlos y apagarlos individualmente y crear colores geniales para elegir. El único inconveniente es que esto hace que las cosas sean mucho más difíciles, ya que debe mapear / planificar y cablear 3 veces más LED de los que tenía originalmente.

Opté por 42 LED RGB en 13 pines. Eso es 126 LED regulares ….. bastante el número. Déjame contarte cómo lo hice.

Paso 2: planificación

Planificación
Planificación

Sí, este paso es bastante fácil una vez que comprenda la teoría detrás de lo que está haciendo. Básicamente, escribe todos sus LED y planifica qué pin debe ir a qué "pata" de qué LED RGB para cubrir todas sus opciones. Adjunté una imagen de mi planificación, siéntase libre de usarla también (no usé todas las opciones disponibles, ya que "solo" necesitaba 126 conexiones de las 156. Lo estructuré de esta manera porque haría que la construcción fuera un poco más factible).

Es importante tener esto en papel, lo necesitará más tarde para codificar. Si no escribe esto y estropea 1 conexión, el código no funcionará para ese LED.

Paso 3: el código

Bien, si ya tiene una idea sobre cómo conectar 2 LED RGB como este en 2 pines: ¡Adelante! Es bueno verificar el código, ¡pero te aseguro que funciona! Traté de hacer la mayor cantidad de codificación "limpia" que pude (también podría manejar esto con interruptores en los interruptores, pero eso es solo una molestia terrible que tiene que escribir todo su código x42, me hizo darme cuenta de que probablemente había un mejor camino).

El objetivo del código es el siguiente. Empieza en LED1. El botón 1 le permite pasar al siguiente LED, pero el LED anterior permanece encendido. El botón 2 le permite volver al LED anterior, el botón 3 le permite cambiar el color. El LED seleccionado actualmente parpadea para que pueda ver qué LED está "seleccionado".

Para lograr esto, trabajé con matrices. Creé una clase de LED que usa la información que anotó durante la etapa de planificación para ver qué pin necesita para crear un determinado color. Los coloco todos en una matriz y dejo que el arduino pase por la matriz de LED para determinar cuál está encendido y a través de la matriz de colores para determinar qué color se selecciona (el color está determinado por el interruptor que permite elegir 7 colores). El parpadeo está regulado por una declaración if.

El código está adjunto, no dude en descargarlo y usarlo. La sección de comentarios está abierta para preguntas si hay algo que no entiendes, ¡pero básicamente puedes copiar y pegar!

Paso 4: la parte más difícil

La parte más dificil
La parte más dificil
La parte más dificil
La parte más dificil

Así que ahora tiene una idea, un código de trabajo … pero no el producto real. Esta es, con mucho, la parte más horrible de este proyecto y le aconsejo que no se lo tome a la ligera. ¿Recuerdas todas esas piernas diferentes que terminan en el mismo alfiler? bueno, sí … tienes que hacer tu cuadrícula de LED, luego conectar cada pata a cada otra pata que necesita ir al mismo pin, y luego conectarlas a dicho pin. Esta es, con mucho, la parte más difícil y la mía tampoco salió 100% perfecta, aunque si eres bueno soldando, es posible que tengas una oportunidad.

Puse una fila de LED RGB a la vez y conecté un cable de cobre a cada pata (recomiendo un cable de cobre con carcasa / envoltura. El mío era demasiado grueso y me causó MUCHO dolor). ¡Tenga cuidado de que no se toquen dos patas o cables! luego "simplemente" conecte todos los cables que necesitan ir al mismo pin y luego conéctelos a una resistencia y conéctelo a dicho pin. Estoy seguro de que hay una forma "más segura" de hacer esto, pero estoy seguro de que uno se ahogaría en el alambre al intentarlo y, honestamente … ¡tu placa de pruebas es muy grande!

(Agregué un dibujo que podría simplificar este paso. Te dice qué pierna debe ir a qué pin, para seguir mi código exactamente).

Me tomó 4 días completos de trabajo, pero ahora cada LED (menos 3-4 que arruiné) se puede encender individualmente.

entonces solo tienes que conectar algunos botones y ¡listo! ¡Tu propia pintura Pixel Art!

Este chico también hizo un ejemplo de cableado, es realmente útil

Paso 5: Regodearse. Absolutamente regodearse

Si eres un principiante (como yo) y te las arreglaste para hacer algo parecido a este nido de cables de ratas y se enciende; relamerse. ¡Lo hiciste muy bien!

Si tiene alguna pregunta / comentario, déjela a continuación, ¡intentaré ayudar si puedo!

Recomendado: