Sie sind auf Seite 1von 7

Crear Un Cubo De Leds 3x3x3 Con Arduino

Materiales:
27 Leds
3 Transistores NPN (2N3904 o tambin 2N2222)
3 Resistencias de 10 k
9 Resistencias de 220
1 Protoboard
1 Arduino UNO
Cables de conexin (1m bastara) o Arduino Jumper Wires
Paso 1: Creando el circuito
En la compra de materiales, fjense cuando vayan a la electrnica de comprar leds que
tengan las patillas suficientemente largas. Por todo lo dems, no hay que tener problema.
La primera etapa consiste en la construccin del cubo. Para esto, se recomienda tener una
tabla de madera y hacer una plantilla donde irn los leds cuando se vayan a soldar.
El rea de esta plantilla depender de la longitud que tenga la patilla ms larga de su led.
Para abrir los huecos se recomienda el uso de un taladro con broca de 5 mm que es ms o
menos el dimetro de los leds.











Ya que se tiene la plantilla se procede a doblar los ctodos de los leds. Todos los ctodos
de cada leds debern estar unidos, y mirando hacia adentro. Deben quedar los ctodos
hacia adentro ya que son stos los que conectaremos para formar el primer nivel del
cubo, as que doblamos y conectamos los ctodos de los leds para que quede un ctodo
comn para todos los leds. Existen tres maneras de identificar cul es el ctodo:
1. Es la patilla ms corta de led
2. El lado que es plano sobre el led
3. Se encuentra conectado a la pieza ms grande en el interior de led
Utilice unos lagartos para mantener unidos el punto comn entre los dos leds que va a
soldar.

Una vez soldados los ctodos retiramos la estructura que queda, y realizamos el mismo
paso 3 veces, para obtener 3 estructuras de 9 leds conectados por sus ctodos, que sern
los 3 niveles o filas del cubo.

Lo siguiente es conectar los niveles, uno encima de otro. 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 ctodos.
Si lo viramos de un modo informtico, 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 conexin con Arduino. Dado que son leds, necesitan
de una pequea 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 ctodos o los 3 niveles del cubo, debemos utilizar 3 transistores NPN, en
mi caso us 2N3904, puesto que al conectar los ctodos a 3 pines digitales del Arduino
podemos encender el cubo enviando valores lgicos 0 LOW, pero cuando queramos
apagar el cubo no podemos enviar un valor lgico HIGH, ya que quemaramos los leds,
estaramos aplicando positivo en ambas patillas del led, por lo que no es posible.
As que conectamos cada uno de los 3 niveles al colector de 3 transistores NPN, la base
de los transistores se conectara a los pines digitales del Arduino, y el emisor a masa o
GND.
As utilizamos el transistor en conmutacin, de modo que al enviar con Arduino un valor
lgico HIGH a uno de los transistores, ste entrar en saturacin, conectando el colector
con el emisor, de forma que el ctodo se conectara a masa.

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


Paso 2: Creando el programa
Lo nico que falta hacer es bajar un programa creado en processing/wiring para nuestro
Arduino UNO que nos permitir encender los leds. Tambin si quiere, puede crear su
propio programa para el encendido de leds.
Existe una gran cantidad de ejemplos que nos permitir hacer de nuestro cubo, una
belleza en accin.
Ejemplo:
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 = 0; contador < 10; contador++){
pinMode(Columnas[contador], OUTPUT); }
for (int contador = 0; 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);
}

Das könnte Ihnen auch gefallen