Hacia tiempo que había visto los cubos de leds en Youtube y algunos son realmente impresionantes, asi que me decidí a hacer uno, pero de los sencillos, de 3x3x3 leds.
(En Youtube los hay de hasta 16x16x16 leds)
Este ha sido el resultado de mi cubo 3x3x3 de leds:
Sigue leyendo para verlo
Primero que nada, hay que construir una especie de plantilla, para poder posicionar bien los leds y efectuar el doblado de las patillas, sin que se deforme, o que por lo menos parezca un cubo al estar terminado.
Para esto, una madera fina, y un taladro con
broca del 5 (justo el tamaño de los leds 5mm), y realizamos la
plantilla con los 9 agujeros en forma de cubo y uno en el centro, tal
que asi:
Una vez tengamos la plantilla terminada, colocamos los leds dentro de forma que queden los cátodos (patilla más corta) hacia adentro del cubo.
Deben quedar los cátodos hacia adentro ya que son éstos los que
conectaremos para formar el primer “nivel” del cubo, así que doblamos y
conectamos los cátodos de los leds para que quede un “cátodo común” para todos los leds. Yo heché mano de unas pinzas de cocodrilo y procedemos a soldarlos.Una vez soldados los cátodos retiramos la estructura que queda, y realizamos el mismo paso 3 veces, para obtener 3 estructuras de 9 leds conectados por sus cátodos, que serán los 3 niveles o filas del cubo.
Una vez que tengamos las estructuras de los leds, procedemos a conectarlas entre sí, y para ello utilizando la misma plantilla colocamos una de las estructuras dentro, con ayuda de unas pinzas de cocodrilo colocamos otra estructura encima y soldamos los ánodos de los leds esta vez, repitiendo el paso para la última estructura y finalizando el cubo.
Y así, finalizamos el cubo, de modo que tenemos un cubo con 9 patillas donde cada una de ellas corresponde al ánodo de los 3 leds de esa misma columna, y 3 niveles o filas de leds conectados por sus cátodos.
Si lo vieramos de un modo informático, es un array bidimensional de leds, tenemos “columnas” y “filas”, y así es como accederemos a cada uno de los leds con Arduino.
Terminado el cubo procedemos a la conexión con Arduino. Dado que son leds, necesitan de una pequeña resistencia así que conectamos cada uno de los pines del cubo con una resistencia de 220 Ω, a 9 pines digitales del Arduino.
Para conectar los cátodos ó los 3 niveles del cubo, debemos utilizar 3 transistores NPN, en mi caso usé 2N3904.
Así que conectamos cada uno de los 3 niveles al colector de 3
transistores NPN, la base de los transistores se conectaría a los pines
digitales del Arduino, y el emisor a masa o GND.Así utilizamos el transistor en conmutación, de modo que al enviar con Arduino un valor lógico HIGH a uno de los transistores, éste entrará en saturación, “conectando” el colector con el emisor, de forma que el cátodo del diodo led se “conectaría” a masa y encendería.
La forma de conectarlo todo es la siguiente:
Y una vez conectado, declaramos los pines como un array de filas y columnas, y que decir, es simplemente encender unos leds
Debido a las altas peticiones de código para encender el cubo, dejo aquí el código correspondiente al momento en que se encienden los leds aleatoriamente:
CÓDIGO:
int Columnas[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int Filas[] = {12, 11, 10};
int RandFila; //Variable para fila aleatoria
int RandColumna; //Variable para columna aleatoria
void setup(){
int contador;
for (int contador = 1; contador < 10; contador++){
pinMode(Columnas[contador], OUTPUT); }
for (int contador = 1; contador < 4; contador++){
pinMode(Filas[contador], OUTPUT); }
}
void loop(){
RandLed();
}
void RandLed(){
RandFila = random(0,3);
RandColumna = random(0,9);
digitalWrite(Filas[RandFila], HIGH);
digitalWrite(Columnas[RandColumna], HIGH);
delay(75);
digitalWrite(Filas[RandFila], LOW);
digitalWrite(Columnas[RandColumna], LOW);
delay(50);
}